1번은 그리디 문제이다.
동전의 종류는 1원, 5원, 10원.. 이런식으로 6종류가 고정이었고, 동전을 만드는 데 비용이 든다.
10원짜리 동전을 만드는데 100원이 필요할 수 있다.
동전을 조합해서 원하는 돈을 만드는데 필요한 최소 비용을 구하는 문제이다.
동전을 만드는데 필요한 돈의 비율(동전의 가치/동전을 만드는 데 필요한 비용)이 높을 수록 많이 사용해야 할 동전이 된다.
나는 비율을 기준으로 최대 힙을 구성해서 문제를 풀었다.
프로그래머스 기준 쉬운 level2 문제라고 생각한다.
2번은 구현 문제이다.
N x N 배열의 네 꼭짓점에서 출발해 시계/반시계 방향으로 소용돌이 치듯 숫자를 채워넣는걸 구현하면 되는 문제였다.
최대한 컴팩트하게 구현하고 싶었는데 중간에 머리가 꼬여서.. 적당히 타협하고 반복코드를 좀 집어넣어서 풀었다.
문제에서 요구하는건 정말 단순했지만 생각보다 구현이 복잡했던 문제였다.
프로그래머스 기준 어려운 level2 문제라고 생각한다.
3번은 DP + 수학 문제였다.
DP + 수학 하면 무시무시할 것 같지만 그렇지 않았다.
DP를 통해서 nCr 조합을 구할 수 있다. (n과 r의 크기가 작아서 충분히 가능했다.)
격자 무늬를 가진 직사각형에서 점에서 점으로 가는 경우의 수를 구하는 문제이다.
한 번쯤 봤을 문제이고 여기서 추가된 조건이 격자 무늬 사이에 대각선이 있어서 이동할 수 있는 경로가 추가된다는 점이다.
대각선을 한 번만 반드시 사용해서 왼쪽 하단의 꼭짓점에서 오른쪽 상단의 꼭짓점 까지 가는 경우의 수를 구하는 문제이다.
출발점에서 대각선과 연결된 점에 도달하는 경우의 수 x 대각선을 통해 이동한 점에서 목적지까지 이동하는 경우의 수
대각선 과 연결된 점은 2개가 있으므로 한 대각선 당 위 계산을 적절히 두 번 수행해주면 된다.
그리고 모든 대각선에 대해서 계산을 수행해 준다.
프로그래머스 기준 쉬움~중간 level2 문제라고 생각한다.
4번은 트리문제라고 생각한다.
4번은 풀지 못했다.
노드가 3개 이상인 트리가 있다.
i-j 거리 + j-k 거리 = i-k 거리 를 만족하는 노드 i, j, k 를 뽑는 경우의 수를 구하는 문제였다.
풀이 방법이 떠올랐지만 구현할 방법을 찾지못해 손을 댈 수 없었다.
그리고 지금 생각해 보니 풀이 방법도 잘못된 것 같은 느낌이다.
무슨 알고리즘을 쓰면 될까!?
풀진 못했지만 프로그래머스 기준 중간 level3 ..?
3문제 품
사실 테스트케이스만 맞았지 히든 케이스에서 다 틀릴수도 있다.
올해 첫 코테를 쳤는데 기분히 묘하다,,
일어나자마자 풀어서 컨디션이 최상은 아니었지만 다 풀지도 못했고, 푼 문제들도 그렇게 쉽게 풀어냈다는 느낌이 아니어서(1번빼고) 아직 쫌 애매하다고 생각된다..
지금 코테에 신경 쓸 시간이 별로 없는데 최대한 시간을 잘 쪼개서 효율적으로 연습 해야겠다ㅠ
바쁘다바빠
'Life' 카테고리의 다른 글
2022 카카오 Tech 인턴십 지원 후기 (Server) (8) | 2022.06.12 |
---|---|
2022 SK ICT Family 개발자 채용 챌린지 후기 (2차) (0) | 2022.03.25 |
알고리즘과 개발 (0) | 2021.07.28 |
자 드가ㅈㅏ (5) | 2021.07.10 |
방학방학 (2) | 2021.06.21 |