본문 바로가기

Plo Hanghae99

항해 99 8일차 (알고리즘)

항해 2주차의 시작이다.

항해 2주차의 시작은 일주일동안 집에 박혀있었으나

감염돼버린 코로나와 함께 깔끔하게 시작했다.


-4일차-

28문제 中 28 Clear

= Challenge 도전중 =

12문제 中 2 Clear


정수 제곱근 판별하기
생각보다 간단했던 풀이방법

문제에 수학적 개념이 등장해서 덜컥 겁부터 먹었다.

자바로 문제해결 하는 것도 어려운데 수학적으로 계산까지 해가면서 풀어야하다니...

하는 생각을 했지만 생각보다 많이 간단한 문제였다.

class를 통해 제곱근을 구해준 후

차근차근 단계만 밟아가면 되는 문제라큰 어려움이 없었던 것 같다.

이 문제가 유독 기억에 남는 이유는 후에 하샤드 수 , 콜라츠 추측 등의 문제를 마주했을 때

겁먹지 않고 풀어나갈 수 있게끔 해준 문제인 것 같다.


콜라츠 추측
자신감을 얻었다.

문제를 찬찬히 읽어보고 과정들을 하나 하나 주석으로 적은 후에

IDE로 과정들을 가져가 IDE에서 한줄 한줄 작성하며 테스트 해봤다.

IDE에서 테스트가 완료되면 코드에 주석을 적은 후에

위에 문제 해결 과정들을 지워버렸다.

왜 그랬을까...


Challenge

3진법 뒤집기 / 문제를 이해하는데 시간이 조금 걸렸다.
Integer.valueOf의 상상도 못한 정체

굉장히 흥미롭게 풀었던 문제였다.

int Type을 3진법으로 나누고 String Type에 바로 할당

String Type Data를 앞의 다른 문제에서 사용했던 sb.reverse를 통하여 뒤집고

뒤집은 String Type Data를 Int Type Data에 형변환과 동시에 10진수로 변환 할당

-IntegerValueOf( 객체 , n진수 )를 입력하면 자동으로 n진수로 변환 후 할당해주는게

굉장히 흥미롭고 신기했다.


Challenge

나는 배열 문제가 싫다.
나는 배열문제가 정말 싫다.

앞의 문제들을 해결하는 과정에서 ArrayList 개념을 많이 찾아보며

문제를 해결해나간 덕분에 ArrayList의 사용이 조금 익숙해졌다.

허나 배열 문제를 해결할 때 마다 발생하는

index out of bound exception 때문에 배열 문제가 싫다.

매번 고민하다 확인해보면 두 배열의 길이를 고려하지 않고

arr.length로 반복하려 한다던가 , arrayList.get(i)로 생각없이 반복하려는 경우였다.

"이렇게 해결하면 되겠다!" 하는 생각이 들었을 때 신나서 코드 먼저 작성한 후에테스트하기 때문에 잔 실수가 많이 발생해서 허비하는 시간이 많은 것 같다.코드를 작성하기 전에 한번 더 생각해보고 천천히 작성하는 습관을 길러야겠다.


항해 두번째 주차가 시작됐다.

비록 시작부터 몸이 말썽이긴 하지만

알고리즘 문제들을 해결해나가며 배우는 자바의 여러가지 클래스들

정렬 알고리즘 , 데이터 타입들이 머리에 하나 하나 남아

후에 다른 문제들을 풀 때 생각나는 그 기분이 너무 좋다.

'Plo Hanghae99' 카테고리의 다른 글

항해99 10일차 , 11일차  (0) 2022.03.18
항해 99 9일차 (알고리즘 모의고사)  (0) 2022.03.16
항해 99 7일차 -1주차- 회고  (0) 2022.03.13
항해 99 6일차 (알고리즘)  (0) 2022.03.13
항해 99 5일차 (알고리즘)  (0) 2022.03.12