IT/코딩테스트 37

[IT/코딩테스트] KB ITYL 알고리즘 해시맵 예제 : Two Sum (leetcode)

▶ 문제 설명 정수 배열 nums와 정수 target이 주어졌을 때, 배열에서 두 수를 골라 더했을 때 그 합이 target이 되는 두 수의 인덱스를 반환하세요.- 각 입력에 대해 정답은 오직 하나만 존재합니다.- 같은 요소를 두 번 사용할 수는 없습니다.- 반환하는 인덱스의 순서는 상관없습니다. ▶ 제한 사항1) 2 ≤ nums.length ≤ 10⁴2) -10⁹ ≤ nums[i] ≤ 10⁹3) -10⁹ ≤ target ≤ 10⁹4) 정답은 무조건 하나 존재 ▶ 입출력 예시번호입력출력설명예시 1nums = [2, 7, 11, 15], target = 9[0, 1]nums[0] + nums[1] = 2 + 7 = 9예시 2nums = [3, 2, 4], target = 6[1, 2] 예시 3nums =..

IT/코딩테스트 2025.07.05

[IT/코딩테스트] KB ITYL 기말평가 대비 : 합승 택시 요금 (programmers)

▶ 문제 설명밤늦게 귀가할 때 안전을 위해 항상 택시를 이용하던 무지는 최근 야근이 잦아져 택시를 더 많이 이용하게 되어 택시비를 아낄 수 있는 방법을 고민하고 있습니다. "무지"는 자신이 택시를 이용할 때 동료인 어피치 역시 자신과 비슷한 방향으로 가는 택시를 종종 이용하는 것을 알게 되었습니다. "무지"는 "어피치"와 귀가 방향이 비슷하여 택시 합승을 적절히 이용하면 택시요금을 얼마나 아낄 수 있을 지 계산해 보고 "어피치"에게 합승을 제안해 보려고 합니다. 위 예시 그림은 택시가 이동 가능한 반경에 있는 6개 지점 사이의 이동 가능한 택시노선과 예상요금을 보여주고 있습니다.그림에서 A와 B 두 사람은 출발지점인 4번 지점에서 출발해서 택시를 타고 귀가하려고 합니다. A의 집은 6번 지점에 있으며 ..

IT/코딩테스트 2025.07.01

[IT/코딩테스트] KB ITYL 기말평가 대비 : House Robber (leetcode)

▶ 문제 설명당신은 전문 도둑입니다. 어느 날 한 마을에 있는 집들을 털 계획을 세우고 있습니다. 각 집에는 일정 금액의 돈이 보관되어 있으며, 이 집들을 털면 그 돈을 얻을 수 있습니다. 하지만 문제가 하나 있습니다.인접한 두 집에는 보안 시스템이 연결되어 있어서, 같은 날 두 인접한 집을 털 경우 경찰에 신고됩니다.따라서 두 집을 연속해서 털 수는 없습니다. 각 집에 보관된 돈의 금액이 nums 배열로 주어질 때, 경찰에 들키지 않으면서 훔칠 수 있는 최대 금액을 구하세요.▶ 제한 사항- 집의 개수 1 - 각 집에 있는 돈 0 ▶ 입출력 예시번호입력출력설명예시 1nums = [1, 2, 3, 1]41번 집(1) → 3번 집(3) 털면 총 4예시 2nums = [2, 7, 9, 3, 1]121번 집(..

IT/코딩테스트 2025.07.01

[IT/코딩테스트] KB ITYL 기말평가 대비 : 타겟 넘버 (programmers)

▶ 문제 설명n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다.-1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘버를 만드는 방법의 수를 return 하도록 solution 함수를 작성해주세요.▶ 제한 사항- 주어지는 숫자의 개수는 2개 이상 20개 이하입니다.- 각 숫자는 1 이상 50 이하인 자연수입니다.- 타겟 넘버는 1 이..

IT/코딩테스트 2025.07.01

[IT/코딩테스트] KB ITYL 기말평가 대비 : 소수 찾기 (programmers)

▶ 문제 설명한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다.각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요. ▶ 제한 사항- numbers는 길이 1 이상 7 이하인 문자열입니다.- numbers는 0~9까지 숫자만으로 이루어져 있습니다.- "013"은 0, 1, 3 숫자가 적힌 종이 조각이 흩어져있다는 의미입니다. ▶ 입출력 예시numbersreturn"17"3"011"2[예시1][1, 7]으로는 소수 [7, 17, 71]를 만들 수 있습니다. [예시2][0, 1, 1]으로는 소수 [11, 101]를 만들 ..

IT/코딩테스트 2025.07.01

[IT/코딩테스트] KB ITYL 기말평가 대비 : 태어난김에 세계일주 (Nossi.DEV)

▶ 문제 설명준석이는 태어난김에 세계 일주를 꿈꾸며 가능한 한 많은 나라를 방문하려 합니다. 하지만 각 나라에는 입국 규정이 있어, 입국하기 위해서는 일정 금액 이상의 잔고가 필요하며, 여행을 마칠 때마다 일정 금액의 경비가 소모됩니다.여행자의 현재 통장 잔고 balance와, 각 나라별 "입국 필요 잔고" 및 "여행 경비"가 담긴 2차원 배열 countries가 주어질 때, 여행자가 방문할 수 있는 최대 국가 수를 반환하는 solution 함수를 작성하세요. ▶ 입출력 예시[예시1]- 입력 : balance = 600, countries = [[70, 350], [100, 550], [350, 400]]- 출력: 3- 설명: 1 → 0 → 2 방문 - countries[1] (최소 550 필요, ..

IT/코딩테스트 2025.07.01

[IT/코딩테스트] KB ITYL 중간평가 대비 : 보물지도 (programmers)

▶ 문제설명진수는 보물이 묻힌 장소와 함정이 표시된 보물 지도를 이용해 보물을 찾으려 합니다. 보물지도는 가로 길이가 n, 세로 길이가 m인 직사각형 모양입니다. 맨 왼쪽 아래 칸의 좌표를 (1, 1)으로, 맨 오른쪽 위 칸의 좌표를 (n, m)으로 나타냈을 때, 보물은 (n, m) 좌표에 묻혀있습니다. 또한, 일부 칸에는 함정이 있으며, 해당 칸으로는 지나갈 수 없습니다. 진수는 처음에 (1, 1) 좌표에서 출발해 보물이 있는 칸으로 이동하려 합니다. 이동할 때는 [상,하,좌,우]로 인접한 네 칸 중 한 칸으로 걸어서 이동합니다. 한 칸을 걸어서 이동하는 데 걸리는 시간은 1입니다. 진수는 보물이 위치한 칸으로 수월하게 이동하기 위해 신비로운 신발을 하나 준비했습니다. 이 신발을 신고 뛰면 한 번에 두..

IT/코딩테스트 2025.05.29

[IT/코딩테스트] KB ITYL 중간평가 대비 : 괄호 회전하기 (programmers)

▶ 문제설명다음 규칙을 지키는 문자열을 올바른 괄호 문자열이라고 정의합니다.⦁ (), [], {} 는 모두 올바른 괄호 문자열입니다.⦁ 만약 A가 올바른 괄호 문자열이라면, (A), [A], {A} 도 올바른 괄호 문자열입니다. 예를 들어, [] 가 올바른 괄호 문자열이므로, ([]) 도 올바른 괄호 문자열입니다.⦁ 만약 A, B가 올바른 괄호 문자열이라면, AB 도 올바른 괄호 문자열입니다. 예를 들어, {} 와 ([]) 가 올바른 괄호 문자열이므로, {}([]) 도 올바른 괄호 문자열입니다.대괄호, 중괄호, 그리고 소괄호로 이루어진 문자열 s가 매개변수로 주어집니다. 이 s를 왼쪽으로 x (0 ≤ x ▶ 제한사항⦁ s의 길이는 1 이상 1,000 이하입니다.▶ 입출력 예sresult"[](){..

IT/코딩테스트 2025.05.29

[IT/코딩테스트] KB ITYL 중간평가 대비 : 신고 결과 받기 (programmers)

▶ 문제설명신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다.⦁ 각 유저는 한 번에 한 명의 유저를 신고할 수 있습니다. ∘ 신고 횟수에 제한은 없습니다. 서로 다른 유저를 계속해서 신고할 수 있습니다. ∘ 한 유저를 여러 번 신고할 수도 있지만, 동일한 유저에 대한 신고 횟수는 1회로 처리됩니다.⦁ k번 이상 신고된 유저는 게시판 이용이 정지되며, 해당 유저를 신고한 모든 유저에게 정지 사실을 메일로 발송합니다. ∘ 유저가 신고한 모든 내용을 취합하여 마지막에 한꺼번에 게시판 이용 정지를 시키면서 정지 메일을 발송합니다.다음은 전체 유저 목록이 ["muzi", "frodo", "apeac..

IT/코딩테스트 2025.05.29

[IT/코딩테스트] KB ITYL 중간평가 대비 : 전력망을 둘로 나누기 (programmers)

▶ 문제설명n개의 송전탑이 전선을 통해 하나의 트리 형태로 연결되어 있습니다. 당신은 이 전선들 중 하나를 끊어서 현재의 전력망 네트워크를 2개로 분할하려고 합니다. 이때, 두 전력망이 갖게 되는 송전탑의 개수를 최대한 비슷하게 맞추고자 합니다. 송전탑의 개수 n, 그리고 전선 정보 wires가 매개변수로 주어집니다. 전선들 중 하나를 끊어서 송전탑 개수가 가능한 비슷하도록 두 전력망으로 나누었을 때, 두 전력망이 가지고 있는 송전탑 개수의 차이(절대값)를 return 하도록 solution 함수를 완성해주세요. ▶ 제한사항⦁ n은 2 이상 100 이하인 자연수입니다.⦁ wires는 길이가 n-1인 정수형 2차원 배열입니다. ∘ wires의 각 원소는 [v1, v2] 2개의 자연수로 이루어져 있으..

IT/코딩테스트 2025.05.29