파란색 : 풀면서 어려웠던 부분 or 고려해야 될 부분
빨간색 : 해결방법
초록색 : 느낀 점
문제
문자 열중의 문자 한개를 빼서 자릿수를 하나 줄여 가장 큰 수를 출력하는 문제이다.
풀이 : 내가 작성한 코드
문자열중 가장 작은 수를 빼면 가장 큰 수가 나 올 줄 알았다. 그런데 222250은 0이 가장 작은데 22225가 된다. 하지만 답은 22250이 되어야 하고 그래서 이건 아니고..., 앞 자릿수보다 뒷자리수가 크면 앞 자릿수를 빼면 된다. 인덱스 비교로 현재 값보다 다음 자릿수의 값이 크면 break로 빠져나와 그 숫자를 제거한다.
풀이 : 다른 사람이 작성한 코드
string s로 처음 받아온 숫자를 문자열로 바꾼 뒤 그 문자열에 서 해당하는 문자만 빼고 int형으로 리턴했다. 나는 형 변환도 많고, 굳이 안 써도 되는 집합 자료구조는 등 많이 사용하는 게 습관이 됐는데 최대한 쓰지 않는 방법으로 문제를 풀도록 해야겠다.
'알고리즘자료구조 > 알고리즘문제' 카테고리의 다른 글
03.28_CodeSignal (0) | 2019.03.28 |
---|---|
03.27_CodeSignal (0) | 2019.03.27 |
03.26_CodeSignal (0) | 2019.03.26 |
03.07_CodeSignal(배열의 요소중 가장 큰수일 경우) (0) | 2019.03.07 |
02.05_CodeSignal(체스 말판) (0) | 2019.02.05 |