[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··
정올 jungol 2078 13일의 금요일 Java, Python
문제로이동 JUNGOL www.jungol.co.kr 목차 문제 설명 모듈러 연산을 하는 문제입니다. N의 범위가 명시되지 않아 TLE를 예측할 수 없지만, 혹시 모를 효율성을 위해 모듈러 연산을 해주었습니다. 자세한 설명은 소스코드에 주석을 달아두었습니다. 소스 코드 Python N = int(input()) # answer : 월,화,수,목,금,토,일의 횟수 저장 answer = [0]*7 # 12개월 초기 세팅 # month[0]은 0 처리 # 구현의 편의성을 위하여 1월~12월의 인덱스를 갖는다. (0~12) # 예시) 1월은 index 0이 아니라 1을 가리킨다. 12월은 index 12를 가리킨다. month = [31]*13 month[0]=0 month[4]=30 # 4,6,9,11월은 3..
byOnlineJudge··
불러오는 중...