본문 바로가기

알고리즘23

[JAVA-120896] 한 번만 등장한 문자 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 링크를 클릭하면 해당 문제로 이동합니다. 1. 접근하기 이 문제 역시 난이도가 0에 해당하는 문제인데 푸는데에 거의 1시간 좀 넘게 썼다. 난이도 0의 4페이지부터는 내가 풀기엔 조금은 난이도가 있는 문제 같다. 아무튼, 처음에는 ArrayList도 사용해보고 String 클래스의 replaceAll도 사용해보고 Set도 사용해봤는데 문제에서 원하는 형식으로 출력이 되지 않아서, 어쩌면 무식한(?) 방법으로 문제를 풀어보았다. TO-DO 1) 알파벳 a부터 z를 원소로 가지고 있는 char타입의 alphabe.. 2023. 1. 19.
[JAVA-120890] 가까운 수 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 링크를 클릭하면 해당 문제로 이동합니다. 1. 접근하기 이 문제 역시 난이도가 레벨 0에 수렴하는데 푸는데에 거의 한 시간 가량 걸렸던 문제이다. 우선, 매개변수로 주어진 n과 가장 가까운 정수를 반환하는게 문제이므로 배열의 각 원소에서 n을 뺀 결과를 절대값으로 변환한 다음, 각 원소들끼리의 그 절대값을 비교하면 되겠다고 생각했다. TO-DO 1) 배열의 각 원소에서 n을 뺀 결과를 절대값으로 변환하고, 그 절대값을 담을 int 타입의 변수(tmp) 만들기 2) tmp와 min 값을 비교해서 min값보다 작.. 2023. 1. 19.
[JAVA-120846] 합성수 찾기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 링크를 클릭하면 해당 문제로 이동합니다. 1. 접근하기 나는 for문을 3개 사용해서 매개변수로 주어진 n 이하의 수들의 약수를 구한다음 약수의 갯수가 3개 이상이면 answer의 값이 증가하도록 코드를 짰다. TO-DO 1) n 이하의 수들의 약수를 구하기 위해 int 타입 변수 num의 값을 1로 초기화하고 약수 구하는 과정이 끝나면 num을 증가 시킨다. 2) 약수를 구한 다음에는 약수들을 list에 넣는다. 이 때, 약수의 갯수가 3개 이상이면 answer의 값을 증가 시킨다. 2. 풀이 import .. 2023. 1. 18.
[JAVA-120815] 피자 나눠 먹기(2) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 링크를 클릭하면 해당 문제로 이동합니다. 1. 접근하기 난이도가 레벨 0인 문제인데, 코드를 어떻게 작성해야 할지 30분-1시간 정도 고민했던 문제이다. 내가 내린 결론은 한 판에 6조각이니까 6조각을 사람수(int n)으로 나눴을 때 나머지가 0이 아니면 계속 6조각을 추가하자였다. TO-DO 1. piece라는 int 타입의 변수에 초기값으로 6을 저장 2. piece를 사람수(n)로 나눴을 때 나머지가 0이 아니면 piece에 6조각(1판)을 추가 2. 풀이 class Solution { public i.. 2023. 1. 18.
[JAVA-120844] 배열 회전시키기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 링크를 클릭하면 해당 문제로 이동합니다. 1. 접근하기 우선, 순서가 바뀐 원소들을 담을 새로운 배열을 생성하고 문자열 direction이 left일 때는 배열 numbers의 0번째 인덱스에 해당하는 원소는 맨 끝으로 이동하고, direction이 right일 때는 배열 numbers의 마지막 인덱스는 맨 앞으로 이동하는점을 염두에 두고 나머지 원소들을 이동시키면 되겠다고 생각했다. TO-DO 1) 순서가 바뀐 원소들을 담을 새로운 배열을 생성하기 2) 문자열에 따라 로직을 달리 실행해야 하므로 for-if.. 2023. 1. 18.