Python 929

프로그래머스(Python) 12940번 최대공약수와 최소공배수 풀이

Python으로 구현한 12940번 최대공약수와 최소공배수 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/12940 코딩테스트 연습 - 최대공약수와 최소공배수 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 programmers.co.kr def solution(n, m): answer = [] # 최대 공약수 value = min(n, m) for i in range(value, 0, -1) : if n % i == 0 and m % i == 0 : answer.append(i) brea..

백준(Python) 21610번 마법사 상어와 비바라기 풀이

Python으로 구현한 21610번 마법사 상어와 비바라기 문제 풀이입니다. https://www.acmicpc.net/problem/21610 21610번: 마법사 상어와 비바라기 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기 www.acmicpc.net n, m = map(int, input().split()) data = [list(map(int, input().split())) for _ in range(n)] cloud = [[n-1, 0], [n-1, 1], [n-2, 0], [n-2, 1]] dx = [0, -1, -1, -1, 0, 1, 1, 1] dy..

백준(Python) 20055번 컨베이어 벨트 위의 로봇 풀이

Python으로 구현한 20055번 컨베이어 벨트 위의 로봇 문제 풀이입니다. https://www.acmicpc.net/problem/20055 20055번: 컨베이어 벨트 위의 로봇 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부 www.acmicpc.net from collections import deque n, k = map(int, input().split()) belt = deque(list(map(int, input().split()))) robot = deque([0] * n) result = 0 while True : # 1단계 수행 be..

프로그래머스(Python) 92334번 신고 결과 받기 풀이

Python으로 구현한 92334번 신고 결과 받기 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/92334 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr from collections import defaultdict def solution(id_list, report, k): answer = [] report = set(report) # 중복 제거 count = defaultdict(int) # 신고 횟수 user = defaultdi..

백준(Python) 16234번 인구 이동 풀이

Python으로 구현한 16234번 인구 이동 문제 풀이입니다. https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net from collections import deque # 특정 위치에서 출발하여 모든 연합을 체크한 뒤에 데이터 갱신 def process(x, y, index) : # (x, y)의 위치와 연결된 나라(연합) 정보를 담는 리스트 united = [] united.append((x, y)) # 너비 우선 탐색(BFS)을..

백준(Python) 15686번 치킨 배달 풀이

Python으로 구현한 15686번 치킨 배달 문제 풀이입니다. https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net from itertools import combinations def get_sum(candidate) : value = 0 for hx, hy in house : temp = 1e9 for cx, cy in candidate : temp = min(temp, abs(hx - cx) + abs(hy - cy)) ..

프로그래머스(Python) 72410번 신규 아이디 추천 풀이

Python으로 구현한 72410번 신규 아이디 추천 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr def solution(new_id): # 1단계 수행 new_id = new_id.lower() # 2단계 수행 answer = '' for i in new_id : if i.isalnum() or i in '-_.' : answer += i # 3단계 수행 while '..' in..

백준(Python) 14891번 톱니바퀴 풀이

Python으로 구현한 14891번 톱니바퀴 문제 풀이입니다. https://www.acmicpc.net/problem/14891 14891번: 톱니바퀴 첫째 줄에 1번 톱니바퀴의 상태, 둘째 줄에 2번 톱니바퀴의 상태, 셋째 줄에 3번 톱니바퀴의 상태, 넷째 줄에 4번 톱니바퀴의 상태가 주어진다. 상태는 8개의 정수로 이루어져 있고, 12시방향부터 www.acmicpc.net from collections import deque def left(num, direction) : if num < 0 : return if data[num][2] != data[num+1][6] : left(num-1, -direction) data[num].rotate(direction) def right(num, direc..

백준(Python) 14503번 로봇 청소기 풀이

Python으로 구현한 14503번 로봇 청소기 문제 풀이입니다. https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net def solution(x, y, d) : global result if data[x][y] == 0 : data[x][y] = 2 result += 1 for i in range(4) : nd = (d + 3) % 4 nx = x + dx[nd] ny = y + dy[nd] if data[nx][ny] == 0 : solutio..

프로그래머스(Python) Level.1 숫자 문자열과 영단어 풀이

Python으로 구현한 81301번 숫자 문자열과 영단어 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/81301 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr def solution(s): answer = "" info = {'zero': '0', 'one': '1', 'two': '2', 'three': '3', 'four': '4', 'five': '5', 'six': '6', 'seven': '7', 'eight': '8', '..