오늘은 프로그래머스에 있는 콜라츠 추측 문제를 풀었습니다. 제가 문제를 풀다가 막힌 부분이 있어 이번에 리뷰를 하면서 다시 공부를 해보려고 합니다. 콜라츠 추측의 문제는 다음과 같습니다. 저는 처음에 이 문제를 do...while로 풀고자 했습니다. 그래서 다음과 같이 코드를 적었는데요. 계속해서 테스트10 중 1개의 케이스에서 틀렸다고 나왔습니다. 그러다가 do...while의 작동 원리에 대해 고민하기 시작했고 do...while은 조건문과 상관없이 무조건 한 번은 작동한다는 것을 깨달았습니다. 위의 코드는 'num === 1'일 때에도 무조건 한 번 실행되기 때문에 결과 answer는 3이 나오게 되지만 사실은 'num === 1'일 때에는 바로 0이 retrun되게 해야한다는 점을 이해하게 되었고 결국 do...while이 아닌 while문으로 해당 문제를 풀 수 있었습니다. 해당 문제의 코드는 다음과 같이 작성했습니다. 문법에 대한 이해를 한층 높일 수
프로그래머스에 있는 핸드폰 번호 가리기 문제를 풀어보도록 하겠습니다. 문제는 다음과 같습니다. 저는 이 문제를 총 네 번 풀어봤는데 각각의 과정들을 소개해보도록 하겠습니다. 우선, 처음에는 map함수를 활용해봤습니다. 그 다음에 개인적으로 변수를 너무 많이 쓰고 있다는 생각이 들어 변수 없이 시도해봤습니다. 테스트 통과까지 걸린시간이 약간 줄어들었는데 변수 할당이 적어서 그런거겠죠..? 그 다음에 생각을 해보다가 쓸 수 있는 문자열, 배열 메소드들을 활용해 보고 싶다는 생각이 들어서 다음으로는 shift()와 unshift()를 써봤습니다. 이것보다 더 효율적으로 만들 수 있을 것 같은데 하드코딩했다는 느낌이 좀 드네요.. 통과까지 걸린 시간은 바로 위에 코드보다는 조금 더 길긴 합니다. 마지막은 다른 분의 풀이였는데요. 코딩테스트는 항상 다른 사람의 코드를 보면서 반성하게 되는 것 같습니다.. 메소드들을 잘 활용하면서 간결하기까지한.... respe