반응형

Coding Test 102

[Lv.3] 여행경로 [프로그래머스_코딩테스트] [DFS, 백트래킹] [30분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/43164 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krICN 항공으로 시작해서 티켓을 모두 사용한 여행경로를 짜려고 할 때 여행경로를 반환하는 문제. 항공권 정보는 출발지와 도착지로 해서 2차원 배열로 구성되어 있다 (tickets) (추가로 여러 경로가 가능한 경우 알파벳 순서로 한다)🧠 나의 접근 방식과 시행착오이 문제는 DFS로 풀려고 시도를 하였으나 결국 문제를 복잡하게 풀다가 못 푼 문제. visited도 넣고 백크래킹 작동까지 고민하긴 하였으나 제대로된 풀이에 도달하진 못하였다. ..

[Lv.2] 게임 맵 최단 거리 [프로그래머스_코딩테스트] [BFS] [25분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr0,0 지점에서 시작해서 n,m의 지점까지 maps(0은 이동 불가능, 1은 이동 가능)에서 최단거리로 이동했을 때의 칸 이동횟수를 반환하는 문제.🧠 나의 접근 방식과 시행착오BFS를 써서 Queue와 Visited 구조를 사용하려고 시도했으나.. 중간에 count 계산하는 방법에 대해서 막힌 관계로.. 해당 문제는 제대로 풀지를 못했다. 풀이 코드 부분에서 실제로 코드가 어떻게 동작하는 지 보고 해당 내용을 보고 학습을 하려고 한다.✅ 풀..

[Lv.2] 타겟 넘버 [프로그래머스_코딩테스트] [DFS] [25분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krn개의 음이 아닌 정수들이 있을 때 순서를 유지한채로 부호를 바꿔가면서 합산을 하여 target의 숫자가 되는 경우가 몇개인지 구하는 문제.🧠 나의 접근 방식과 시행착오15분 걸린 문제. DFS 방식으로 접근한다고 생각하고 +인 경우와 -인 경우를 계산해서 count를 추가하는 방식으로 풀었다. DFS는 틀리는 경우가 은근 많이 나왔었는데 한 번에 원하는 결과가 나왔던 문제라 기억에 남지 않을까 싶긴 하다.using System;publi..

[Lv.1] 부족한 금액 계산하기 [프로그래머스_코딩테스트] [수학] [10분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/82612 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr보유하고 있는 돈 money가 있고 놀이기구를 탈때마다 price에서 탄 횟수의 배수만큼 금액이 줄어든다고 할 때 count회 놀이기구를 탄다면 부족한 금액을 반환하는 문제. (단 부족하지 않은 경우 0 반환)🧠 나의 접근 방식과 시행착오6분에 푼 문제. 먼저 money가 int로 주어지지만 계속 줄어들기 때문에 언더플로우가 발생하는 케이스를 방지하기 위한 것과 결과를 long으로 반환해야 해서 먼저 long으로 변환시켜준다. 그러고 나서..

[Lv.1] 약수의 합 [프로그래머스_코딩테스트] [수학] [10분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/12928 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr숫자 n이 주어지고 해당 수의 약수의 합을 구하는 문제🧠 나의 접근 방식과 시행착오8분 정도 걸린 문제. 사실 그냥 단순하게 푼다고 하면 1~n까지 다 나눠봐서 약수를 다 더하면 되긴 한다. 다만 n이라는 숫자가 무지 크다면 걸리는 시간이 좀 더 걸리기 때문에 최적화를 고려해서 반복을 최소화하는 방식으로 풀이를 했다. 먼저 규칙상 약수는 쌍을 이루게 된다 (n의 제곱근을 빼면) 그 점을 이용해서 제곱근까지만 반복문을 돌린다. 그리고 쌍을 ..

[Lv.1] 제일 작은 수 제거하기 [프로그래머스_코딩테스트] [배열] [10분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/12935 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr정수를 저장한 배열 arr에서 가장 작은 수를 제외한 배열을 반환하는 문제. (결과 배열이 비게 되면 -1을 채운다)🧠 나의 접근 방식과 시행착오6분 정도 걸린 문제. 일단 1개가 있는 경우 무조건 -1로 반환하면 되고, 그 후에는 가장 작은 정수를 일단 먼저 찾은 후에 List에 해당 정수를 제외하고 집어 넣는다. 그리고 list를 array로 바꿔서 반화하면 끝.public int[] solution(int[] arr){ if (..

[Lv.2] H-Index [프로그래머스_코딩테스트] [정렬] [25분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/42747 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr논문 인용수들의 배열 citations가 주어질 때 h번 이상의 인용수를 가지는 논문들이 h개 이상인 경우에 최대의 h를 구하는 문제.🧠 나의 접근 방식과 시행착오어이가 없이 계속 틀렸다. gpt에게 물어보고 왜 틀린건지 이해가 안된다고 물어보기도 했다... 문제를 아예 다르게 이해했으니 풀릴리가 없지.. 해당 내용에 대해서는 아래 풀이 코드를 적으면서 적어보려고 한다. 일단 생각했던 방법은 인용수를 일단 큰 수 부터 작은 수 순으로 내림..

[Lv.2] 최솟값 만들기 [프로그래머스_코딩테스트] [정렬, 그리디] [25분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/12941 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr숫자의 배열 A와 B가 주어지고 A와 B에서 숫자 하나씩을 뽑아가면서 숫자의 곱을 한 값들의 합이 최소가 되는 경우 결과를 반환하는 문제.🧠 나의 접근 방식과 시행착오5분 걸린 문제. 맨처음 문제를 읽으면서 A,B의 길이가 같기 때문에 이중 반복을 돌리지 않을것이라는 추측과, Dictionary를 써서 이미 고른 것을 다시 체크하지 않게 해야 하려나?란 생각을 하면서 읽었다. 문제를 다 읽고 나서는 최소가 되는 곱의 합을 구하는 것이니깐 ..

[Lv.0] 숨어있는 숫자의 덧셈 (1) [프로그래머스_코딩테스트] [문자열, 수학] [10분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/120851 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문자열에 숫자와 알파벳이 섞여 있는데 이 때 숫자의 합을 구하는 문제🧠 나의 접근 방식과 시행착오3분 걸린 문제. 그저 문자열 안의 숫자를 더하면 된다. char.IsDigit()을 활용하는 부분과 int.Parse(c.ToString())를 쓰는 거 말고는 크게 별 건 없다. 지금 보면 int.Parse에 인자로 char도 줘도 되지 않나란 생각이 들기도../// /// 숨어있는 숫자의 덧셈 (1)/// https://school.pr..

[Lv.0] k의 개수 [프로그래머스_코딩테스트] [구현, 수학] [10분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/120887 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr숫자 i에서 j까지 하나씩 돌면서 k가 숫자에 들어간 개수를 더한 값을 반환하는 문제🧠 나의 접근 방식과 시행착오4분 걸린 문제. 일단 한 숫자에 k가 포함된 count를 계산하는 함수를 따로 빼서 정리하였다. (보통 하나의 함수 안에서 처리를 하려고 하면 코드가 정리가 안되거나 실수가 나오기 쉬워서 이런 문제의 유형에서는 자주 활용하는 편) 그 이후에는 그저 i부터 j까지 돌면서 더하기만 해주면 된다./// /// k의 개수/// ht..

반응형