rabbit97 님의 블로그
20일 일지 본문
아침부터 시작되는 알고리즘 세션...
그리고 바로 시작하는 알고리즘 풀기
아마 점심때 문제를 추가로 줄거 같기에 어제 못 푼 알고리즘은 다음에 풀기로 하고
일단 현재 알고리즘 코드카타에 집중!!
자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.
숫자를 배열 형태로 만들어 정해져있는 갯수이니 for로 반복문 돌리면 될거같다!
계속 풀던 유형이라 쉽게 패스!
다음 문제!!
문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.
마찬가지로 문자열을 숫자로 변환하고 push로 합쳐야하나 생각까지만 했으나
검색 후 parseInt라는 아주 이번 문제에 유용한 코드를 찾아서 바로 써먹기
다음!!
임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다.
n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.
진짜 오래 걸렸던 문제.... 솔직히 저렇게 코드를 짜고 값도 잘 나와서 완벽할 줄 알았는데 제출하면 틀렸다고 한다.
이유가 뭘까 하고 검색을 좀 오래 찾아봤는데 찾지는 못했고 실제로 입력값을 121, 3같이 딱딱 나오는 값만 넣어봐서 몰랐는데 27을 넣었더니 38. 뒤에 소수점이 어마어마하게 출력이 됐다. 제곱근을 그대로 곱해서 생긴 문제인거 같은데 사실 정확한 이유는 모르고... 그냥 안되는구나 하고 다른 방법을 찾아서
이 방법으로 해결!
isInteger는 number의 값이 정수인지 아닌지를 걸러 준다고 한다. 애초에 문제가 양의 정수 n이 주어졌기에 먼저 만들었던 코드는 제곱근 때문에 문제의 의도가 빗나간게 맞는거 같다.
여기까지 하고 다음 알고리즘을 푸는 중 오늘까지 풀어야하는 문제가 도착해서 이거 먼저..
다음!!
보자마자 set이 떠오르긴 했는데 이게 비슷한 유형의 문제를 더 풀어봐야 술술 나올 것 같다
결국 검색엔딩..
노검색의 결과.. 검색을 해보니 너무 처참해서 안올릴까 하다가 그래도 for문은 많이 익숙해졌다고 생각했는데 아직 아니여서 공개처형
for는 이제 익숙해질때 됐는데 아직 많이 부족하다 뭔가 일단 적고 아니면 검색해서 수정하는걸 반복하다보니 따로 for문의 구조를 좀 뜯어보면서 공부해야겠다
결국 또 검색 엔딩..
보면 알겠는데 막상 쓰면 모르는 이 신비한 코딩의 세계..
모두... 검색... 이친구도 진짜 시간 오래 걸렸는데 안되네..
두문제 더 있는데 시간이 너무오래 지나 내일 풀자..
=====================================================================================
오늘의 학습요약
진짜 기본기가 부족하다는걸 깨달은 하루.... 끝..