코딩테스트 5

[파이썬] 현대자동차 Softeer :: 성적평가 풀이

Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 1. 문제 현주는 N명의 인원이 참여하는 프로그래밍 스터디 그룹을 이끌고 있다. 현주는 스터디를 위해 대회를 세 개 개최하였고, 모든 구성원이 각 대회에 참여하였다. 참가자는 각 대회에서 0 이상 1,000 이하의 정수인 점수를 얻는다. 한 대회에서 둘 이상의 참가자가 동점이 나오는 경우도 있을 수 있다. 현주는 각 대회별 등수 및 최종 등수를 매기고 싶다. 등수는 가장 점수가 높은 사람부터 1등, 2등, ···, N등의 순서대로 붙는다. 만일 동점이 있을 경우 가능한 높은 (등수의 수가 작은) 등수를 부여한다. 즉, 점수가 내림차순으로 10,7,6,6,4의 순서일 경우, 6점을 받은 두 사람은 공동 3등이 되고, 그 다..

코딩테스트 2023.03.02

[파이썬] 현대자동차 Softeer :: 금고털이 풀이

https://softeer.ai/practice/info.do?idx=1&eid=395 1. 문제 루팡은 배낭을 하나 메고 은행금고에 들어왔다. 금고 안에는 값비싼 금, 은, 백금 등의 귀금속 덩어리가 잔뜩 들어있다. 배낭은 W ㎏까지 담을 수 있다. 각 금속의 무게와 무게당 가격이 주어졌을 때 배낭을 채울 수 있는 가장 값비싼 가격은 얼마인가? 루팡은 전동톱을 가지고 있으며 귀금속은 톱으로 자르면 잘려진 부분의 무게만큼 가치를 가진다. 2. 제약조건 1 ≤ N ≤ 106인 정수 1 ≤ W ≤ 104인 정수 1 ≤ Mi, Pi ≤ 104인 정수 3. 입력 첫 번째 줄에 배낭의 무게 W와 귀금속의 종류 N이 주어진다. i + 1 (1 ≤ i ≤ N)번째 줄에는 i번째 금속의 무게 Mi와 무게당 가격 Pi..

코딩테스트 2023.03.02

[파이썬] 백준 10026번 문제, 적록색약 풀이 (DFS)

문제 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록), B(파랑) 중 하나를 색칠한 그림이 있다. 그림은 몇 개의 구역으로 나뉘어져 있는데, 구역은 같은 색으로 이루어져 있다. 또, 같은 색상이 상하좌우로 인접해 있는 경우에 두 글자는 같은 구역에 속한다. (색상의 차이를 거의 느끼지 못하는 경우도 같은 색상이라 한다) 예를 들어, 그림이 아래와 같은 경우에 RRRBB GGBBB BBBRR BBRRR RRRRR 적록색약이 아닌 사람이 봤을 때 구역의 수는 총 4개이다. (빨강 2, 파랑 1, 초록 1) 하지만, 적록색약인 사람은 구역을 3개 볼 수 있다...

코딩테스트 2023.02.23

[파이썬] 백준 7562번 문제, 나이트의 이동 풀이 (BFS)

문제 체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 있을까? 입력 입력의 첫째 줄에는 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 세 줄로 이루어져 있다. 첫째 줄에는 체스판의 한 변의 길이 l(4 ≤ l ≤ 300)이 주어진다. 체스판의 크기는 l × l이다. 체스판의 각 칸은 두 수의 쌍 {0, ..., l-1} × {0, ..., l-1}로 나타낼 수 있다. 둘째 줄과 셋째 줄에는 나이트가 현재 있는 칸, 나이트가 이동하려고 하는 칸이 주어진다. 출력 각 테스트 케이스마다 나이트가 최소 몇 번만에 이동할 수 있는지 출력한다. 문제를 보고 얻어야 하는..

코딩테스트 2023.02.23

크루스칼 알고리즘 - 파이썬

1. 크루스칼 알고리즘은 대표적인 최소 신장 트리 알고리즘입니다. 2. 그리디 알고리즘으로도 분류됩니다. 3. 구체적인 동작 과정은 아래와 같습니다. 3.1 간선 데이터를 비용에 따라 오름차순으로 정렬합니다. 3.2 간선을 하나씩 확인하며 현재의 간선이 사이클을 발생시키는지 확인합니다. 3.2.1 사이클이 발생하지 않는 경우 최소 신장 트리에 포함시킵니다. 3.2.2 사이클이 발생하는 경우 최소 신장 트리에 포함시키지 않습니다. 4. 모든 간선에 대하여 3.2번의 과정을 반복합니다. [초기 단계] 아래와 같은 노드 간 간선 정보가 있다고 했을 때, 그래프의 모든 간선 정보에 대하여 우선 오름차순 정렬을 수행합니다. 간선 (1,2) (1,5) (2,3) (2,6) (3,4) (4,6) (4,7) (5,6)..

코딩테스트 2021.07.15