본문 바로가기

전체 글100

[Python] FirstUnique https://app.codility.com/demo/results/training5MBAYJ-A83/ Test results - Codility A non-empty array A consisting of N integers is given. The unique number is the number that occurs exactly once in array A. For example, the following array A: A[0] = 4 A[1] = 10 A[2] = 5 A[3] = 4 A[4] = 2 A[5] = 10 contains two unique numbers (5 and 2). Y app.codility.com Point 딕셔너리를 만들어 입력값에 대해 카운트를 한다 딕셔너리 for l.. 2021. 7. 15.
[Python] DisappearingPairs https://app.codility.com/demo/results/trainingFRJG6A-A4D/ Test results - Codility A string S containing only the letters "A", "B" and "C" is given. The string can be transformed by removing one occurrence of "AA", "BB" or "CC". Transformation of the string is the process of removing letters from it, based on the rules described above. A app.codility.com Point 전형적인 stack과 관련된 알고리즘 입력값과 stack의 가장 .. 2021. 7. 15.
CentOS 8 최초 설치 후 Eternet 활성화 및 WOL 설정하기 보통 CentOS 8 설치 후 유선랜이 꺼져있어서 네트워크가 잡히지 않는다. 이를 자동으로 활성화 해주고 추가적으로 원격으로 부팅시켜기 위해 WOL 설정까지 같이 해보자. 단, 메인보드에서 WOL을 지원하는지 사전에 확인을 해야한다. 먼저 ip addr show 명령어를 통해 네트워크 장치를 조회한다. # ip addr show (...중략...) 2: enp6s0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether aa:aa:aa:aa:aa:aa brd ff:ff:ff:ff:ff:ff 편집기를 실행해서 해당 네트워크 장치의 정보를 편집한다. # vi /etc/sysconfig/network-scripts/ifcfg-enp6s0 (... 2021. 5. 9.
[Python] 20056. 마법사 상어와 파이어볼 www.acmicpc.net/problem/20056 20056번: 마법사 상어와 파이어볼 첫째 줄에 N, M, K가 주어진다. 둘째 줄부터 M개의 줄에 파이어볼의 정보가 한 줄에 하나씩 주어진다. 파이어볼의 정보는 다섯 정수 ri, ci, mi, si, di로 이루어져 있다. 서로 다른 두 파이어볼의 위치 www.acmicpc.net Point 첫 입력에서 서로 다른 두 파이어볼 위치가 같은 경우는 없음 파이어볼 질량이 0 이 되면 소멸 Tip 2차원 리스트 배열을 선언하여 이동이 끝난 뒤 파이어볼 합치기/분열을 연산 파이어볼의 방향을 연산할 때, 총합이 짝수/홀수냐로 모두 짝수/홀수인지 아닌지를 판별하면 안된다. 짝짝홀홀일 때 총합은 짝수이기 때문이다. 메모리 (제한: 512MB) 138280 KB .. 2021. 4. 24.
[Python] 20057. 마법사 상어와 토네이도 www.acmicpc.net/problem/20057 20057번: 마법사 상어와 토네이도 마법사 상어가 토네이도를 배웠고, 오늘은 토네이도를 크기가 N×N인 격자로 나누어진 모래밭에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c열을 의미하고, A[r][c]는 (r, c)에 있는 모래의 양을 www.acmicpc.net Point 토네이도가 (0,0) 도달 시 종료 한칸 움직일 때마다 모래를 퍼트림 Tip 반시계 방향 회전가능할 때까지 전진 시간 절약을 위해 현 위치의 모래가 0이 아닐때만 (A[y][x] != 0) 모래를 퍼트림 메모리 (제한: 512MB) 132984 KB 시간 (제한: 1초) 476 ms 결과 100% import sys from collections import deque.. 2021. 4. 24.
[Python] 20055. 컨베이어 벨트 위의 로봇 www.acmicpc.net/problem/20055 20055번: 컨베이어 벨트 위의 로봇 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부 www.acmicpc.net Point 내구도 0칸에는 로봇이 올라가지 못하며, 내려가기만 가능 벨트 회전 시 로봇 좌표 변경 이동하려는 칸에 로봇이 없어야하며 내구도 1이상 올라가는 위치에서 로봇이 없어야만 올림 Tip deque를 사용해 구현하면 코드가 간결해짐 로봇 좌표를 체크할 check 배열을 생성해서 계속 업데이트 해줌 메모리 (제한: MB) 129232 KB 시간 (제한: 초) 688 ms 결과 100% .. 2021. 4. 24.
[Python] 16234. 인구 이동 www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net Point 시작점을 기준으로 bfs를 통해 연합국가의 좌표를 탐색하고, 평균을 연산한다. 실제 값 반영은 이동에서 수행한다. Tip bfs의 세번째 반환값으로 flag를 세워서 인구이동이 필요없는(길이가 1)인 국가를 이동대상에 포함하지 않으므로서 연산량을 대폭 줄인다 check 이차원 배열을 선언해 한번 연합이 탐지된 국가는 모두 True 표시하여 bfs 연산이 필요없도록 한다 메모리 (제한: .. 2021. 4. 24.
[Python] 19238. 스타트 택시 www.acmicpc.net/problem/19238 19238번: 스타트 택시 첫 줄에 N, M, 그리고 초기 연료의 양이 주어진다. (2 ≤ N ≤ 20, 1 ≤ M ≤ N2, 1 ≤ 초기 연료 ≤ 500,000) 연료는 무한히 많이 담을 수 있기 때문에, 초기 연료의 양을 넘어서 충전될 수도 있다. 다 www.acmicpc.net Point 처음엔 매 승객마다 최단거리를 구해줬고 시간초과가 났다. 그럴 필요 없이 현재 택시 위치 기준으로 맵의 최단거리를 구하고 Pop(index) 를 이용해서 연산을 반복한다. 메모리 (제한: MB) 124568 KB 시간 (제한: 초) 204 ms 결과 100% def shortest_path(taxi): global n dist = [[-1]*n for _ in .. 2021. 4. 23.
[Python] 이차원 배열과 연산 www.acmicpc.net/problem/17140 17140번: 이차원 배열과 연산 첫째 줄에 r, c, k가 주어진다. (1 ≤ r, c, k ≤ 100) 둘째 줄부터 3개의 줄에 배열 A에 들어있는 수가 주어진다. 배열 A에 들어있는 수는 100보다 작거나 같은 자연수이다. www.acmicpc.net 포인트 두자리 이상의 수에 대해서 정렬하는 것을 고려 100초까지 확인해야 하므로 101번까지 반복해야 함 Tip 내장함수 zip(*arr) 을 사용하여 세로 줄에 대해서 정렬을 연산한다. Defaultdic 과 DeepCopy를 사용한다. 시간을 줄이기 위해 2차원 배열로 연산을 해보자 메모리 (제한: 512 MB) 129132 KB 시간 (제한: 0.5 초) 300 ms 결과 100% from .. 2021. 4. 21.
728x90
반응형