파란색 : 풀면서 어려웠던 부분 or 고려해야 될 부분
빨간색 : 해결방법
초록색 : 느낀점
문제
중복된 문자를 개수를 파악해서 문자와 같이 표기해준다. 중복된 문자가 없을 경우 문자만 출력해야 한다.
풀이 : 내가 작성한 코드
어려운 문제는 아닌데 문자열 string을 char로 받아 현재 문자와 다음 문자의 중복 여부를 확인한 뒤 반복문으로 확인했다. 문제는 s [i+1]로 확인하려다 보니 다음 인덱스의 범위가 벗어나서 오류가 떴다. 원래는 while문을 (s[i] == s[i+1])로 했었는데 배열의 길이를 확인하는 것으로 바꿨다. 역시 if, else가 너무 많다.
풀이 : 다른 사람이 작성한 코드
삼항 연산자를 사용해서 if, else 문도 적고 foreach를 사용하면 나처럼 인덱스 범위를 벗어나는 경우를 체크할 필요가 없었다. 알고리즘 문제를 풀 때 좀 더 여러 방법으로 접근하는 습관을 길러야겠다.
'알고리즘자료구조 > 알고리즘문제' 카테고리의 다른 글
05.05_CodeSignal(문자열 속 숫자 뽑아내기) (0) | 2019.05.05 |
---|---|
04.26_CodeSignal(시간:분/규칙) (0) | 2019.04.26 |
04.20_CodeSignal(특정(mac)조건에 만족 여부) (0) | 2019.04.20 |
04.18_CodeSignal(특정 문자 이후 문자열 출력하기) (0) | 2019.04.18 |
04.17_CodeSignal(문자열 비교) (0) | 2019.04.17 |