일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 비트마스킹
- 우선순위큐
- 트라이
- SWEA
- 플로이드와샬
- 조합
- 이분탐색
- 브루트포스
- 프로그래머스
- 투 포인터
- 백트래킹
- 구현
- 최소 신장 트리
- 백준
- 2020 KAKAO BLIND RECRUITMENT
- 스택
- 로봇 청소기
- 크루스칼
- 2019 KAKAO BLIND RECRUITMENT
- BFS
- 2021 KAKAO BLIND RECRUITMENT
- 플로이드 와샬
- 투포인터
- 다익스트라
- 시뮬레이션
- Spring
- 2018 KAKAO BLIND RECRUITMENT
- GIT
- 2020 카카오 인턴십
- 파이썬
- Today
- Total
목sssssss록구현 (34)
개발조아
문제 링크 : https://www.acmicpc.net/problem/1662 1662번: 압축 압축되지 않은 문자열 S가 주어졌을 때, 이 문자열중 어떤 부분 문자열은 K(Q)와 같이 압축 할 수 있다. K는 한자리 정수이고, Q는 0자리 이상의 문자열이다. 이 Q라는 문자열이 K번 반복된다는 뜻이 www.acmicpc.net 문제 설명이 너무 없었다. 예제를 보고 설명하면 아래와 같다. 입력 예제 1: 33(562(71(9))) 압축은 K(Q)형태로 되어 있다. K는 한자리 이므로 K와 Q를 구분하면 아래와 같을 것이다. 3 3(56 2(7 1(9))) 가장 안쪽 7 1(9)을 보자 K는1 Q는 9이므로 9가 될 것이고 앞의 7과 합쳐져 79가 된다. 그다음으로 가면 56 2(79)가 되고 79를 ..
문제 링크 : https://www.acmicpc.net/problem/16509 16509번: 장군 오랜만에 휴가를 나온 호근이는 문득 동아리방에 있는 장기가 하고 싶어졌다. 하지만 장기를 오랫동안 하지 않은 탓인지 예전에는 잘 쓰던 상을 제대로 쓰는 것이 너무 힘들었다. 호근이를 위해 www.acmicpc.net 이동 규칙이 특이한 BFS 문제이다. 문제에 왕에 대한 규칙이 있지만 무시해도된다. 현재 점에서 상하좌우로 한칸 간후 해당 칸에서 대각으로 두칸을 이동한것이 한번의 움직임이다. 파란점이 상이 움직일 수 있는 구역이다. 그리고 움직이는 도중에 다른 말을 만나면 안된다. 왕도 해당 된다. 그리고 움직임의 끝에 왕과 만나야한다. 다시말해 위의 그림에 파란점에 왕이 있어야 만나는 것이다. 위에 그림..
문제 링크 : https://www.acmicpc.net/problem/9519 9519번: 졸려 첫째 줄에 X(1 ≤ X ≤ 1,000,000,000) 가 주어지고, 둘째 줄에 X번 깜박인 후의 단어가 주어진다. 단어는 알파벳 소문자로만 이루어져 있고, 길이는 구간 [3,1000]에 포함된다. www.acmicpc.net X가 10억까지여서 규칙을 찾아서 하려고 했던 문제이다. 10번 돌리기에는 너무 많으니까 다시 시작 문자열로 돌아오는 섞는 횟수를 규칙으로 찾으려고 했는데 규칙이 없는 것같아서 포기했다. 그래서 그냥 반복문으로 구했다. 다시 시작 문자열로 돌아올때까지 문자를 섞고, 중간에 생성된 문자열을 배열에 추가했다. 예제 1번의 입력이 주어진다면 배열은 아래 순서대로 들어갈 것이다. acefdb..
문제 링크 : https://www.acmicpc.net/problem/8972 8972번: 미친 아두이노 요즘 종수는 아두이노를 이용해 "Robots"이라는 게임을 만들었다. 종수는 아두이노 한대를 조정하며, 미친 아두이노를 피해다녀야 한다. 미친 아두이노는 종수의 아두이노를 향해 점점 다가온다. www.acmicpc.net 별다른 어려운 조건이나 규칙이 없어서 주어진 조건대로 구현만 하면 된다. 우선 종수의 위치를 따로 저장하고., 미친 아두이노의 위치는 큐에 담는다. 그리고 맵을 조금 변경했다. 빈칸은 0, 종수는 -1, 미친 아두이노는 1로 초기화를 시작하고 했다. 1 이상의 숫자는 해당 점에 미친 아두이노의 개수를 나타낸다. 알고리즘의 순서는 다음과 같다. 1. 종수 이동 만약 미친 아두이노랑 ..
문제링크 : https://www.acmicpc.net/problem/11067 11067번: 모노톤길 입력 데이터는 표준입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 테스트 데이터의 개수 T가 정수로 주어진다. 각 테스트 데이터의 첫 번째 줄에는 카페의 수 www.acmicpc.net 길의 좌표를 줬을 때 잘 나열해놓고 원하는 카페 번호를 출력하면 된다. 일단 입력받은 x,y좌표를 오름차순으로 일단 정렬했다. 이는 길이 오른쪽부터 왼쪽으로 향하기 때문이다. 그리고 x좌표에 대해서 똑같은 값을 가진 점들의 개수를 세서 저장했다. y좌표는 일단 오름차순으로 정렬되어 있다. 하지만 카페의 길이 현재 점에서 위로 갈수도 있고 아래로 갈수도 있다. 그리고 길은 수평, 수직방향..
문제 링크 : https://www.acmicpc.net/problem/8982 8982번: 수족관 1 입력의 첫 줄은 수족관의 경계에 있는 꼭짓점의 개수 N(1 ≤ N ≤ 5,000)이 주어진다. N은 짝수이다. 수족관의 경계는 항상 꼭짓점 (0, 0)부터 시작한다. 그리고 마지막 꼭짓점은 (A, 0)의 형태로 끝난 www.acmicpc.net 문제의 설명은 어렵지 않지만 생각을 좀 많이 한 문제이다. 문제의 핵심은 수족관에 깊이를 수정해가는 것이다. 한 구멍으로 물이 빠졌을 때의 수족관의 물의 빠진 양을 수정하는데 이를 모든 구멍에 대해서 실행해보는 것이다. 예를 들어 2번 구멍으로 먼저 물이 빠진다 했을 때 왼쪽 첫번째 파란 원의 물의 양은 3, 오른쪽 파란원도 3, 그 오른쪽은 2가 될 것이다. ..
문제 링크 : https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 치킨집을 m개를 고르고 각 집마다 가장 가까운 치킨집과의 거리를 계산해서 합의 최솟값을 구하는 문제이다. 조합으로 치킨집을 m개 고르고 집마다 치킨집과의 거리를 계산해서 최솟값을 구하면 된다. from sys import stdin from itertools import combinations input = stdin.readline n,m = map(int, ..
문제 링크 : https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 시뮬레이션 문제이다. 나는 큐를 이용하여 풀었다. 4방향 확인 중 이동할 곳이 있다면 현재 좌표를 수정한다. 만약 4방향 중 이동할 곳이 없다면 뒤로 이동하는데 벽이라면 답을 출력하고 끝내면 된다. from sys import stdin input = stdin.readline dx = [-1,0,1,0] dy = [0,1,0,-1] n,m = map(int, input().spl..