프로그래머스/가장 가까운 글자

dev.홍성원·2023년 7월 11일

코딩테스트

목록 보기
3/4

문제

https://school.programmers.co.kr/learn/courses/30/lessons/142086

풀이

https://github.com/dev-h99www/codingtest/commit/452305d170326d93247c1ff5eea49f0e891a589a

문제 풀이를 위해 다음과 같은 과정의 전략을 짰다.
1. 알파벳 하나하나에 대응되는 배열을 생성해 알파벳의 현재 위치를 저장한다. 초기값은 -1로 설정한다. (현재 위치는 0부터 s.length()이기 때문에 -1로 설정)
2. 문자열 s를 배열로 만들어 for문을 돌려 다음 과정을 반복한다.
2-1. 1번에 생성한 알파벳 배열에 값이 초기화되지 않았으면 answer에 -1을 저장하고, 현재 반복문의 index를 해당 알파벳에 갱신한다.
2-2. 알파벳 배열에 값이 초기화 되었다면, 현재 index에서 저장된 index를 빼 알파벳 간 거리를 구한다.

코드는 테스트에 통과했지만 좋은 풀이가 있어 기억하기위해 포스팅을 한다.


1번에 생성한 배열을 Map으로 대체해 코드를 짰다.

profile
백엔드 신입 개발자

0개의 댓글