본문 바로가기
  • Let's study

PS/Programmers20

[프로그래머스 Lv.0] 중복된 문자 제거(Java) 문제https://school.programmers.co.kr/learn/courses/30/lessons/120888 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이문자열을 처음부터 끝까지 순회하면서 현재 문자가 처음 등장한 위치인지 확인한 뒤, 처음 등장한 문자만 결과 문자열에 추가했다.먼저 charAt()을 사용해 현재 문자를 가져온다.char c = my_string.charAt(i);그다음 indexOf()를 이용해 해당 문자가 문자열에서 처음 등장하는 위치를 찾는다.if (my_string.indexOf(c) == i) answer += c;indexOf(c)는 문자 c가 처음 나타나는 인덱스.. 2026. 7. 19.
[프로그래머스 Lv.0] 최빈값 구하기(Java) 문제https://school.programmers.co.kr/learn/courses/30/lessons/120812 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이먼저 각 숫자가 몇 번 등장했는지 저장하기 위해 빈도 배열을 만든다.문제에서 배열의 원소는 0 이상 999 이하이므로 크기가 1000인 배열을 생성한다.int[] mode = new int[1000];이후 입력 배열을 한 번 순회하면서 각 숫자의 등장 횟수를 증가시킨다.for (int i = 0; i 그다음 mode 배열을 순회하면서 가장 많이 등장한 숫자를 찾는다.if (max max : 현재까지의 최대 등장 횟수answer : 최빈값cnt :.. 2026. 7. 18.
[프로그래머스 Lv.0] 배열 회전시키기(Java) 문제https://school.programmers.co.kr/learn/courses/30/lessons/120844 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이오른쪽으로 회전하는 경우에는 현재 원소를 한 칸 뒤의 인덱스에 저장한다.answer[(i + 1) % numbers.length] = numbers[i];여기서 (i + 1) % numbers.length를 사용하면 마지막 원소도 자연스럽게 첫 번째 위치로 이동한다.예를 들어 numbers = {1, 2, 3}이라면 다음과 같이 저장된다.i저장위치결과01answer[1] = 112answer[2] = 220answer[0] = 3최종 결과는 {3.. 2026. 7. 17.
[프로그래머스 Lv.0] 배열 자르기(Java) 문제https://school.programmers.co.kr/learn/courses/30/lessons/120833 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이Arrays.copyOfRange(array, from, to)from : 복사를 시작할 인덱스(포함)to : 복사를 끝낼 인덱스(미포함)코드import java.util.Arrays;class Solution { public int[] solution(int[] numbers, int num1, int num2) { int[] answer = Arrays.copyOfRange(numbers, num1, num2+1); .. 2026. 7. 16.
[프로그래머스 Lv.0] 문자열 정렬하기 (2) (Java) 문제https://school.programmers.co.kr/learn/courses/30/lessons/120911 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이먼저 모든 문자를 소문자로 변환한 뒤, 문자열을 문자 배열로 바꾸어 정렬하고 마지막으로 정렬된 문자 배열을 다시 문자열로 변환하여 반환한다.먼저 toLowerCase()를 사용해 문자열의 모든 문자를 소문자로 변환한다.my_string = my_string.toLowerCase();그다음 toCharArray()를 사용해 문자열을 문자 배열(char[])로 변환한다.char[] charArr = my_string.toCharArray();문자 배.. 2026. 7. 15.
[프로그래머스 Lv.0] 2차원으로 만들기(Java) 문제https://school.programmers.co.kr/learn/courses/30/lessons/120842 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이2차원 배열의 행의 개수는 num_list.length / n, 열의 개수는 n이므로 먼저 해당 크기의 2차원 배열을 생성했다.이후 num_list를 처음부터 끝까지 한 번만 순회하면서 값을 2차원 배열에 넣었다.i / n : 현재 값이 들어갈 행의 인덱스i % n : 현재 값이 들어갈 열의 인덱스즉, i가 0부터 증가할 때마다 같은 행에서는 열이 증가하고, n개의 값이 채워지면 다음 행으로 넘어가게 된다.for (int i = 0; i 코드cl.. 2026. 7. 14.