항해99/TIL | WIL

2023.01.31 (23일)

태감새 2023. 1. 31. 23:31

Day 23


for vs iterator 비교

어제 작성하다 만 for과 iterator의 비교글을 다 작성했다.
어디까지나 나의 추측이지만 ArrayList에서 for문이 빠른 이유는 인덱스 값을 이용해서 바로 이동해서 확인하면 되게 때문이다. iterator는 값이 있는지 확인하고 다음 값을 가져오고 이전 값을 저장하는 등 여러 과정이 추가되기 때문에 ArrayList에서는 for문이 빠르다. 정확한 자료를 찾아보고 싶었는데 외국 글을 읽어봐도 명확한 답은 안나왔다.

알고리즘 모의고사

98일 뒤 날짜 구하기, 소수 구하기, 나머지 하나는 기억이 안난다. 그 문제 난이도가 중이였는데 가장 쉬웠고 1번 문제인 날짜 구하기가 제일 어려웠다. 풀기는 풀었지만 많은 수정을 거쳐서 겨우 완성했다.

HashMap 사용

프로그래머스 문제 중 HashMap을 사용하는 문제가 있었다.
나는 그 문제를 ArrayList를 이용해서 sort를 했는데 HashMap을 이용해서 푸니 시간이 1/3가량 줄었다.
원인을 분석해보니 sort메서드도 결국 이중for문이였고 sort를 두번이나 사용했으니 시간복잡도가 나빠지는 것은 당연하다.
지료구조로 문제를 해결할 수 있으면 반복문보다는 나은 선택이 될것이다.

'항해99 > TIL | WIL' 카테고리의 다른 글

2023.02.02 (25일)  (0) 2023.02.02
2023.02.01 (24일)  (0) 2023.02.01
2023.01.30 (22일)  (0) 2023.01.30
WIL (2주)  (0) 2023.01.29
2023.01.29 (21일)  (0) 2023.01.29