백준 17202 핸드폰 번호 궁합 JAVA

sundays·2022년 11월 8일

문제

핸드폰 번호 궁합

풀이

이 문제를 보고 배열을 교차로 재 설정 해서 배열을 차례로 더하는 방식을 생각한게 놀랍다. 난 이걸 생각을 못했다. (역시 허접) 적용해보니 역시 예쁘다 아무튼 어떻게는 풀었을 것 같긴 하다. 더해주는 인덱스가 가장 중요한데 나는 배열이 아닌 stringbuilder로 계속 문자열을 더해주면서 변환해주었다가 바꿨는데 역시 이게 훨씬 낫다

		// 배열을 재 설정
		Integer[] arr = new Integer[16];
        for (int i = 0; i < 16; i++) {
            if (i % 2 == 0) {
                arr[i] = Integer.valueOf(a.charAt(i / 2)+"");
            } else {
                arr[i] = Integer.valueOf(b.charAt(i / 2)+"");
            }
        }
        
        // index + (index + 1) 더해주기
        List<Integer> list = Arrays.asList(arr);
        while (list.size() > 2) {
            List<Integer> temp = new ArrayList<>();
            for (int d = 0; d < list.size() - 1; d++) {
                temp.add((list.get(d) + list.get(d+1)) % 10);
            }
            list = temp;
        }

전체 코드

전체 코드

profile
develop life

0개의 댓글