알고리즘 문제 풀이 둘째 날이다.
프로그래머스 로 문제를 푸는데, 몇 문제가 꽤나 어렵게 풀리는 느낌이 들었다. 쉽고 간결한 코드를 작성하고 싶은데 그게 안되고, 내 코드는 저~ 멀리 돌아가는 느낌이랄까? 아무튼 그 중에서 정수 제곱근 판별 문제에 아주 골머리를 앓았다.
처음엔 반복문과 조건문을 사용해 접근하는 방식으로 풀었는데, 테스트 2번과 4번을 시간 초과로 통과하지 못했다.
질문하기 창에서 검색도 해보고, 몇 시간 동안 이리 저리 코드도 뜯어봤지만 모르겠더라...
결국엔 구글링해서 Math.sqrt()
를 사용하는 방법으로 풀었는데, 처음 보는 용어인지라 한번 짚고 넘어가는 차원에서 오늘의 트러블 이슈는 이것으로 정했다.!
🖊 문제 설명
임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다.
n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.
✔ Math.sqrt()
?
java.lang.Math 클래스의 메소드로 특정값의 제곱근(루트)를 구할 때 사용한다.
Math.sqrt(n) --> 결과값 : √n
목표치였던 '마라톤' 완주를 4문제 남겨뒀다. 최대한 푼다고 풀었는데 오늘 다 하지 못한게 조금 아쉬운 하루였다.
문제 풀이도 조금 간결하고 예쁜 코드를 짜고 싶은데 맘처럼 안되는게 속이 상하지만 그래도 계속 연습하고 풀다보면 언젠간 자바의 '신'이 되어있지 않을까.!
절대 지치지 말기로 하자.
📚 Reference