파란색 : 풀면서 어려웠던 부분 or 고려해야 될 부분
빨간색 : 해결방법
초록색 : 느낀점
문제
올바른 시간을 표현하고 있는지 여부를 체크하는 문제이다. 시간 00부터 ~23까지/ 분은 0부터 59까지 표현이 가능하다는 부분
풀이 : 내가 작성한 코드
C#에는 Split라는 함수 덕분에 ':'기준으로 나눈 문자열을 배열로 쉽게 받을 수 있다. 시간을 나타내는 time[0]과 분을 나나태는 time[1]로 나뉘게 된 것이다. int.Parse를 통해 숫자로 바꾸어주고 24와 59를 비교해준다.
풀이 : 다른 사람이 작성한 코드
어렵지 않은 문제라 C#함수를 사용한 짧은 코드보다 다른 방법으로 접근한 코드들을 찾아봤다.
디버깅 해보니 DateTime dummy에는 현재 날짜와 매개변수로 받은 time이 시간,분으로 입력되었다. ParseExact함수 두 번째 문자열은 시간,분을 받는 형식을 지정해준다. 이 형식또는 시간규칙에 맞지 않으면 catch해주도록 한다.
'알고리즘자료구조 > 알고리즘문제' 카테고리의 다른 글
05.07_CodeSignal(특수문자,띄어쓰기 제외하기) (0) | 2019.05.07 |
---|---|
05.05_CodeSignal(문자열 속 숫자 뽑아내기) (0) | 2019.05.05 |
04.23_CodeSignal(중복된 문자 카운트) (0) | 2019.04.23 |
04.20_CodeSignal(특정(mac)조건에 만족 여부) (0) | 2019.04.20 |
04.18_CodeSignal(특정 문자 이후 문자열 출력하기) (0) | 2019.04.18 |