728x90

전체 글 258

백준 1939 (중량제한)

중량제한 문제 N(2 ≤ N ≤ 10,000)개의 섬으로 이루어진 나라가 있다. 이들 중 몇 개의 섬 사이에는 다리가 설치되어 있어서 차들이 다닐 수 있다. 영식 중공업에서는 두 개의 섬에 공장을 세워 두고 물품을 생산하는 일을 하고 있다. 물품을 생산하다 보면 공장에서 다른 공장으로 생산 중이던 물품을 수송해야 할 일이 생기곤 한다. 그런데 각각의 다리마다 중량제한이 있기 때문에 무턱대고 물품을 옮길 순 없다. 만약 중량제한을 초과하는 양의 물품이 다리를 지나게 되면 다리가 무너지게 된다. 한 번의 이동에서 옮길 수 있는 물품들의 중량의 최댓값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N, M(1 ≤ M ≤ 100,000)이 주어진다. 다음 M개의 줄에는 다리에 대한 정보를 나타내는 세 정수 A..

코딩테스트 2022.06.12 SKT T-WorX 인턴 - ML/DS

SKT T-WorX 인턴 - ML/DS 코딩테스트 10:00~13:10 화상 x, ide o 총 4 문제, 4 알고리즘로 나왔다. 테스트 케이스 1. 리스트 탐색 - 100 단순 리스트 탐색을 통해서 각 값을 비교하면서 탐색하는 방식으로 풀었음 2. 등급 변경 - 100 현재와 미래의 등급을 확인하고 원하는 값을 구하는 식으로 하였다. 3. 구현 - 100 처음에는 문제를 이해하는게 조금 헷갈렸지만 해당 문제를 누적을 통해서 변경을 하고 그 뒤로 단순 탐색을 통해서 문제를 구했고 set의 부분 집합을 사용하였다. 4. 백트래킹 - 100 백트래킹을 통해서 탐색을 하는 방식을 사용하였다. 결과값을 통해서 리셋하는 방식도 더해서 백트래킹으로 하였다.

코딩테스트 2022.06.12

백준19940(피자 오븐) - 해결

피자 오븐 문제 피자를 굽는 전자식 오븐이 있다. 이 오븐에 재료는 넣고 정확히 $N$분 동안 동작을 시키고자 한다. 그런데 이 오븐에 준비된 버튼은 아래와 같은 동작을 하는 5가지이다. 즉, 각각의 버튼은 동작 시간을 추가시키거나 감소시킨다. 처음에 피자 오븐의 첫 시간은 0분으로 정해져 있다. 시간을 감소시키는 버튼을 눌러서 시간이 0분보다 작아지는 경우에는 0분으로 설정된다. $t$가 현재 오븐에 세팅된 시간, $t'$은 버튼을 누른 뒤의 시간을 의미할 때, 각 버튼은 다음과 같은 기능을 가지고 있다. ADDH: $t' = t + 60$ ADDT: $t' = t + 10$ MINT: $t' = t - 10$ ADDO: $t' = t + 1$ MINO: $t' = t - 1$ 예를 들어, 58분을 설..

백준2023(신기한 소수)

신기한 소수 문제 수빈이가 세상에서 가장 좋아하는 것은 소수이고, 취미는 소수를 가지고 노는 것이다. 요즘 수빈이가 가장 관심있어 하는 소수는 7331이다. 7331은 소수인데, 신기하게도 733도 소수이고, 73도 소수이고, 7도 소수이다. 즉, 왼쪽부터 1자리, 2자리, 3자리, 4자리 수 모두 소수이다! 수빈이는 이런 숫자를 신기한 소수라고 이름 붙였다. 수빈이는 N자리의 숫자 중에서 어떤 수들이 신기한 소수인지 궁금해졌다. N이 주어졌을 때, 수빈이를 위해 N자리 신기한 소수를 모두 찾아보자. 입력 첫째 줄에 N(1 ≤ N ≤ 8)이 주어진다. 출력 N자리 수 중에서 신기한 소수를 오름차순으로 정렬해서 한 줄에 하나씩 출력한다. 매번 소수가 나올때는 여러 고민을 하는거 같다. 좀 더 빨리 풀 수는..

백준22342(계산 로봇)

계산 로봇 문제 M개의 행(가로줄)과 N개의 열(세로줄)이 있는 격자의 각 칸에는 로봇이 있다. 각 행에는 위에서부터 아래로 1부터 M까지의 번호가 붙어 있고, 각 열에는 왼쪽에서부터 오른쪽으로 1 부터 N까지의 번호가 붙어 있다. 이를 통해 격자 칸의 위치를 (행 번호, 열 번호)의 좌표로 표시할 수 있다. 각 로봇은 하나 이상의 입력 값, 하나의 저장 값, 하나의 출력 값을 가진다. 로봇들은 제일 왼쪽 열의 로봇들부터 열 번호 순서대로 동작한다. 같은 열에 있는 로봇들은 동시에 동작 한다. 로봇들의 동작은 다음과 같다. (표현 |A|는 정수 A의 절댓값을 의미한다. 즉, A ≥ 0인 경우 |A| = A, A < 0 인 경우 |A| = −A.) 제일 왼쪽 열에 있는 로봇의 입력 값은 0 하나로 정한다 ..

백준9270(페그 솔리테어) - 해결

페그 솔리테어 문제 페그 솔리테어는 구멍이 뚫려있는 이차원 게임판에서 하는 게임이다. 각 구멍에는 핀을 하나 꽂을 수 있다. 핀은 수평, 수직 방향으로 인접한 핀을 뛰어넘어서 그 핀의 다음 칸으로 이동하는 것만 허용된다. 인접한 핀의 다음 칸은 비어있어야 하고 그 인접한 핀은 제거된다. 현재 게임판에 꽂혀있는 핀의 상태가 주어진다. 이때, 핀을 적절히 움직여서 게임판에 남아있는 핀의 개수를 최소로 하려고 한다. 또, 그렇게 남기기 위해 필요한 최소 이동횟수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 1 ≤ N ≤ 100이 주어진다. 각 테스트 케이스는 게임판의 초기 상태이다. 게임판은 모두 같은 모양을 가진다. (예제 참고) '.'는 빈 칸, 'o'는 핀이 꽂혀있는 칸, '#'..

코딩테스트 2022.05.21 현대자동차 - Data Scientist

현대자동차 - Data Scientist 코딩테스트 09:00~12:10 화상 o, ide x 총 3 문제, 3 알고리즘로 나왔다. 테스트 케이스 1. 구현 - 100 단순하게 탐색을 하면서 찾는 방법을 사용하였다. 자주 나오는 나선 탐색이라 그냥 단순하게 탐색하였다. 2. 구현 - 100 마지막에 풀었는데 못 풀 수도 있겠다는 생각을 하였지만 여러 방법을 생각하다가 규칙같은 걸 찾았다. 3. 재귀 - 100 선택 방식에 따라서 재귀를 하는 방법을 하였다. 생각 해보니 특정 범위까지만 가능하다고 생각하여서 그 범위내에서 재귀를 하였다.

코딩테스트 2022.05.21

코딩테스트 2022.05.15 넷마블 summer internship - AI연구

넷마블 summer internship 코딩테스트 09:00~13:00 화상 o, ide x 총 4 문제, 3 알고리즘, 1 SQL로 나왔다. 테스트 케이스 1. 구현 - 100 특정 단위를 변화시켜서 단계별로 하나씩 구분하면서 해당하는 차이를 구하면서 답을 도출 2. 구현 - 100 방향 탐색을 하면서 특정 규칙을 찾아서 답을 구하였다. 3. 재귀 - 100 재귀로 해당하는 부분이 맞는지를 확인하면서 풀었다. 4. SQL - 0 단순하게 랭크를 구하는 문제였는데 사용법을 까먹었다...

코딩테스트 2022.05.15

코딩테스트 2022.05.14 신한은행 - IT

신한은행 코딩테스트 10:00~12:30 화상 o, ide x 총 5 문제, 4 알고리즘, 1 SQL로 나왔다. 테스트 케이스 1. 구현 - 100 단순 구현으로 각각을 구하는데 구분을 split로 구분하여 탐색을 하였다. 2. 구현, 재귀 - 100 4 방향 탐색으로 구하는데 각각을 재귀로 구하였다. 각각을 계속 방향을 바꾸고 구하는 방식으로 하였다. 3. 구현 - 100 전체 구역을 정해서 각각을 다 체크를 해서 탐색을 하는 방식을 사용하였다 4. 구현, 그래프 탐색 - 50 일단 원하는 방식의 탐색을 통해 각각으로 쌍을 구하고 저장한뒤에 이를 그래프 탐색을 통해서 탐색하는데 여기가 히든에 걸릴 거 같다. 5. SQL - 0 각각의 1위를 뽑아야하는데 그 부분을 못하였다. rank같은걸 공부해봐야겠다.

코딩테스트 2022.05.14
728x90