profile
1일 1커밋 1블로그!

[javaScript] 콜라츠 추측 do...while과 while 문의 차이

오늘은 프로그래머스에 있는 콜라츠 추측 문제를 풀었습니다. 제가 문제를 풀다가 막힌 부분이 있어 이번에 리뷰를 하면서 다시 공부를 해보려고 합니다.  콜라츠 추측의 문제는 다음과 같습니다. 저는 처음에 이 문제를 do...while로 풀고자 했습니다. 그래서 다음과 같이 코드를 적었는데요. 계속해서 테스트10 중 1개의 케이스에서 틀렸다고 나왔습니다. 그러다가 do...while의 작동 원리에 대해 고민하기 시작했고 do...while은 조건문과 상관없이 무조건 한 번은 작동한다는 것을 깨달았습니다. 위의 코드는 'num === 1'일 때에도 무조건 한 번 실행되기 때문에 결과 answer는 3이 나오게 되지만 사실은 'num === 1'일 때에는 바로 0이 retrun되게 해야한다는 점을 이해하게 되었고 결국 do...while이 아닌 while문으로 해당 문제를 풀 수 있었습니다. 해당 문제의 코드는 다음과 같이 작성했습니다. 문법에 대한 이해를 한층 높일 수

2022년 1월 26일
·
0개의 댓글
·

[programmers] 핸드폰 번호 가리기- JS

프로그래머스에 있는 핸드폰 번호 가리기 문제를 풀어보도록 하겠습니다. 문제는 다음과 같습니다. 저는 이 문제를 총 네 번 풀어봤는데 각각의 과정들을 소개해보도록 하겠습니다. 우선, 처음에는 map함수를 활용해봤습니다. 그 다음에 개인적으로 변수를 너무 많이 쓰고 있다는 생각이 들어 변수 없이 시도해봤습니다. 테스트 통과까지 걸린시간이 약간 줄어들었는데 변수 할당이 적어서 그런거겠죠..? 그 다음에 생각을 해보다가 쓸 수 있는 문자열, 배열 메소드들을 활용해 보고 싶다는 생각이 들어서 다음으로는 shift()와 unshift()를 써봤습니다. 이것보다 더 효율적으로 만들 수 있을 것 같은데 하드코딩했다는 느낌이 좀 드네요.. 통과까지 걸린 시간은 바로 위에 코드보다는 조금 더 길긴 합니다. 마지막은 다른 분의 풀이였는데요. 코딩테스트는 항상 다른 사람의 코드를 보면서 반성하게 되는 것 같습니다.. 메소드들을 잘 활용하면서 간결하기까지한.... respe

2022년 1월 17일
·
0개의 댓글
·