문자열 백준 10809

0

코딩테스트

목록 보기
6/7

문제의 중요성

구현의 기본이라고 할 수 있는 문자열을 다루는 다양한 방법과 팁을 알 수 있는 문제이다.

문제

https://www.acmicpc.net/problem/10809

문제는 단순하다. 소문자로 된 문자열을 입력받으면 해당 문자가 처음 나온 위치를 알파벳을 -1로 초기화한 배열에 나타내는 것이다.

처음 문제 접근법

문자를 입력받고 각 알파벳 문자를 배열로 바꾼후, 입력받은 문자열의 각 문자 인덱스를 알파벳 배열에 대입하는 코드를 찍으면 된다고 생각했다. (이 부분은 센스(?) 의 영역이었다...)

고민한 점

문제를 풀면서 고민이 있었다. 우선,
1. 입력 받은 문자를 어떻게 배열로 바꿀 것인가와
2. 배열로 바꾸었다고 해서 해당 인덱스를 어떻게 알파벳 배열에 대응시킬 것인가 하는 문제였다.

해결 및 느낀점

결국 이 문제는

  • 문자열에서 특정 인덱스에 위치한 글자를 반환하는 메소드인 charAt() 의 활용과
  • 소문자 알파벳의 아스키코드의 10진수 값을 아는지 (A는 65, a는 97) ,
  • 그리고 가장 중요하게 느껴졌던 인덱스를 활용한 처음 등장한 위치출력을 할 수 있는가를 물어보는 문제였다.
  • for each문의 효율성도 느끼게 해준 문제였다.

결국 가장 기본적인 toCharArray charAt() 메소드를 어떻게 적재적소에 활용하고 아스키코드에 대한 이해가 관건이었다. 또한 원하는 결과를 얻기 위해서 배열의 인덱스에 어떻게 접근할 건지에 대한 고민을 깊게 해야되는 문제였다.

profile
스스로 질문을 던지고 고민하는 소프트웨어 엔지니어

0개의 댓글