[Codility] Lesson4 MaxCounters 풀이 Python
문제로이동 MaxCounters coding task - Learn to Code - Codility Calculate the values of counters after applying all alternating operations: increase counter by 1; set value of all counters to current maximum. app.codility.com 목차 문제 설명 체감상 Lesson4 테스트 문제 중 해결하는데 가장 오래걸렸습니다. 입력 값으로 N과 배열 A가 입력됩니다. 최종적으로 N개 만큼의 카운터를 출력해야 하고 N=5일 때 (0, 0, 0, 0, 0)과 같은 형식으로 출력 이 카운터를 어떻게 연산하느냐가 관건입니다. 예제를 보며 기능을 설명하겠습니다. A[..
byOnlineJudge··
[Codility] Lesson4 MissingInteger 풀이 Python
문제로이동 MissingInteger coding task - Learn to Code - Codility Find the smallest positive integer that does not occur in a given sequence. app.codility.com 목차 문제 설명 양수인 정수 중에서 배열에 없는 가장 작은 값을 출력하는 문제입니다. 너무 간단한 문제라 바로 예제부터 보겠습니다. [1,2,3]의 경우 배열에 없는 가장 작은 정수인 4가 나옵니다. [-1,-3]의 경우 배열에 없는 가장 작은 정수인 1이 나옵니다. [1,3,6,4,1,2]의 경우 배열에 없는 가장 작은 정수인 5가 나옵니다. 접근 방법 어쨌든 모든 배열을 탐색해야 하므로 O(N)의 시간 복잡도를 갖습니다. 입력 범위..
byOnlineJudge··
[Codility] Lesson4 FrogRiverOne 풀이 Python
문제로이동 FrogRiverOne coding task - Learn to Code - Codility Find the earliest time when a frog can jump to the other side of a river. app.codility.com 목차 문제 설명 solution 함수에 X, A 값이 주어집니다. 개구리가 강을 건너기 위한 최소한의 시간을 출력하는 문제입니다. 개구리의 초기 위치는 index 0이며, X 위치까지 도달하기 위해서는 반드시 모든 위치에 낙엽이 떨어져야 합니다. 바로 예시를 보겠습니다. A[0] = 1 A[1] = 3 A[2] = 1 A[3] = 4 A[4] = 2 A[5] = 3 A[6] = 5 A[7] = 4 위와 같이 매 시간별 낙엽이 떨어지는 위치가 ..
byOnlineJudge··
[Codility] Lesson4 PermCheck 풀이 Python
문제로이동 PermCheck coding task - Learn to Code - Codility Check whether array A is a permutation. app.codility.com 목차 문제 설명 N개의 정수 배열 A가 주어집니다. 단, 중복되는 수는 없으며 연속되지 않는 정수를 찾아내는 문제입니다. 두 가지 상황을 예로 들자면, A[0] = 4 A[1] = 1 A[2] = 3 A[3] = 2 위 Example의 경우 총 4개(최대 4)의 정수가 주어졌으며 1부터 4까지 모든 수가 존재합니다. 반대의 경우를 봅시다. A[0] = 4 A[1] = 1 A[2] = 3 위 Example의 경우 총 3개(최대 4)의 정수가 주어졌으며 2를 제외한 모든 수가 존재합니다. 이 때, N까지 모든 ..
byOnlineJudge··
백준 21611 마법사 상어와 블리자드 python
문제로이동 21611번: 마법사 상어와 블리자드 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그, 비바라기 마법을 할 수 있다. 오늘 새로 배운 마법은 블리자드이고, 크기가 N×N인 격자에서 연습하려고 한다. N은 항상 홀수이고, ( www.acmicpc.net 목차 문제 설명 가장 최근에 나왔던 삼성 SW 역량 기출 문제로 알고 있습니다. 약 1시간 15분 가량 소요되었던 문제이며 굉장히 재밌게 풀었습니다만 시간을 좀 더 단축해야겠다는 생각이 강하게 들었습니다. 이번 문제는 각 기능별(함수)로 설명 하겠습니다. 그리고 작동되는 순서는 아래 나열된 순서와 동일합니다. 위치별 인덱싱 이 문제를 해결하면서 상어를 중심으로 소용돌이 모양으로 구슬을 이동하고, 변화하고, 폭발하고의 과정이 거쳐지는 것..
byOnlineJudge··
백준 10423 전기가 부족해 풀이 python
문제로이동 10423번: 전기가 부족해 첫째 줄에는 도시의 개수 N(1 ≤ N ≤ 1,000)과 설치 가능한 케이블의 수 M(1 ≤ M ≤ 100,000)개, 발전소의 개수 K(1 ≤ K ≤ N)개가 주어진다. 둘째 줄에는 발전소가 설치된 도시의 번호가 주어진다. 셋째 www.acmicpc.net 목차 문제 설명 문제를 풀 당시에 골드2로 책정되어 있지만 사실 이보다 낮은 난이도 같습니다. 다른 최소 스패닝트리와 차이가 하나 있다면 이미 발전소와 연결되어 있는 도시는 굳이 한번 더 연결할 필요가 없기 때문에 연결하지 않으면 됩니다. union 함수 부분에 로직을 몇가지 추가했는데, 발전소와 연결되어 있는지를 체크하기 위해서는 기존 방법(Index가 작은 곳으로 연결)대신 발전소를 기준으로 Parent 배..
byOnlineJudge··
불러오는 중...