오랜만에 블로그에 회고를 쓴다... 몇일 글쓰는게 귀찮게 느껴졌으며 다시 마음을 잡고 회고를 시작한다.
코딩테스트를 공부하면서 탐욕 알고리즘, 구현, 완전 탐색 알고리증, BFS, DFS 등을 학습하며 문제를 풀고있다. 예전에는 문제를 보면 아무생각 없이 머리를 써가면서 대충 풀었다면 이제는 이게 어떠한 알고리즘을 활용하는 문제인가를 떠올리고 푸려고 노력한다.
오늘은 코플릿에 있는 코딩테스트 5번,6번,7번,8번을 풀어보았다.
조합은 순서에 상관이 있으며 중복이 있어서는 안됨 !
( 조합 : 순서 상관 O -> ( 1,2,3 - 1,3,2 순서가 달라도 같음)
7번 문제는 정해진 수만큼 돌면서 안겹치게만 수를 구하고 거기서 그 수의 합이 소수인지 찾는 문제 였다. 나는 소수를 찾을 때 나눠지는게 2개이상이면 false를 리턴하여 문제를 풀었지만 이러한 경우 2개가 나올 때 까지 반복문을 돌아야 하여 효율적이지가 않다. 그래서 오늘 배운거는 소수인지 판별하는 수에 Math.sqrt() 함수로 루트를 씌운 수까지만 돌 수 있게끔 하면 소수인지 구별할 수 있는 로직이였다.
GCD 문제는 최대 공약수를 구하는 문제 ( 두 수가 있고 그 수의 약수중 공통되면서 최대인 수)
8번 문제는 구현을 어떻게 할 지 생각하는데 생각이 많이 들었고 코드의 난이도는 높지 않았다.
중복순열 문제는 순열은 중복이 포함이 안되고 순서는 고려하지 않지만 중복순열은 중복도 포함!
( 순열 : 1,2,3 1,3,2 - 순서가 다르면 다름 + 중복순열 : 중복도 포함 1,1,1 2,2,2 가능 )
재귀를 사용하여 풀 수 있음
- 재귀 문제를 많이 풀어 봤지만 5번 문제를 풀 때에는 어떻게 구현해야 될 지 생각이 안났다... 아직 재귀도 부족하다...
순열 6번 문제는 순서가 다르면 다른 수로 간주
'부트캠프 > 코드스테이츠 백엔드부트캠프 43기' 카테고리의 다른 글
코드스테이츠 백엔드 부트캠프 43기 (31일차-SQL) (0) | 2023.01.31 |
---|---|
코드스테이츠 백엔드 부트캠프 43기 (30일차-HTTP) (0) | 2023.01.27 |
코드스테이츠 백엔드 부트캠프 43기 (19,20일차-Section1 회고) (0) | 2023.01.11 |
코드스테이츠 백엔드 부트캠프 43기 (18일차-스트림 회고) (2) | 2023.01.09 |
코드스테이츠 백엔드 부트캠프 43기 (16,17일차-자바 심화 회고) (0) | 2023.01.07 |
댓글