배열2 [프로그래머스/Lv.1] 두 개 뽑아서 더하기 1) 주어지는 수가 0~100 범위이기 때문에 두수의 합의 범위는 0~200 이므로 메모리 사용이 크지 않아 접근이 빠른 배열을 사용.2) cases에 두수의 합과 동일한 인덱스에 1을 대입한다.3) cases 배열을 순회해서 해당 인덱스의 값이 1이라면 두수의 합이 해당 인덱스인 경우가 존재하는 것이므로 answer에 추가한다. (0번 인덱스 부터 추가하기 때문에 따로 정렬을 하지 않아도 된다.) class Solution { public int[] solution(int[] numbers) { int size = 0; int[] cases = new int[200]; for(int j = 0; j 2025. 2. 4. [프로그래머스/Lv.1] 가장 가까운 같은 글자 1) 'a'~'z'알파벳의 앞 위치를 담아둘 checkBox[26] 배열을 사용한다. ex: ( 'a'의 위치는 'a' - 'a' = 0, checkBox[0], 'b'의 위치는 checkBOx[1]가 된다. )2) 각 알파벳이 나왔을 때 해당 알파벳이 나온 인덱스 위치를 기록한다.3) 동일한 알파벳이 나왔을 때 해당 알파벳의 checkBox위치에서 값을 꺼내 '현재 인덱스 - 전 인덱스' 로 몇 칸 떨어져 있는지 구하고 현재 인덱스를 해당 알파벳의 checkBox위치에 넣어준다. 이후 반복.. class Solution { public int[] solution(String s) { int[] answer = new int[s.length()]; sho.. 2025. 1. 24. 이전 1 다음