본문 바로가기

Algorithm 💡/Implementation50

[소프티어 6255번] 플레이페어 암호 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai import sysfrom collections import dequeinput = sys.stdin.readline# 플레이페어 암호는 알파벳으로 이루어진 어떤 문자열을 암호화하는 방법# 알파벳으로 이루어진 문자열인 Key가 필요함# 한번에 두 글자 단위로 암호화를 진행# 5x5 크기의 표를 사용, 알파벳 26개를 모두 담기에는 칸이 1개 부족하여 I와 J를 동일하게 생각(편의상 J가 아예 X)area = [['']* 5 for _ in range(5)]alpa = [chr(x) for x in range(ord('A'),ord('Z')+1) if x != ord('J')]alpa_set = set()message = deque(li.. 2024. 6. 24.
[소프티어 6250번] 성적 평가(HSAT 5회 정기 코딩 인증평가 기출) import sysinput = sys.stdin.readline# N명의 인원이 참여하는 스터디# 3개의 대회, 모든 구성원이 각 대회에 참여# 참가자는 각 대회에서 0이상 1000이하의 정수인 점수를 얻음# 한 대회에서 둘 이상의 참가자가 동점이 나오는 경우도 있음# 각 대회 별로 등수 및 최종 등수를 매김# 동점인 경우에는 공동 등수, 아닌 경우에는 일반 등수# 즉, 등수 = 나보다 점수가 높은 사람의 수 + 1# 각 참가자의 대회별 등수 / 최종 등수 출력# 입력 최대 범위 : 10^5n = int(input())score_list = []sum_list = [0] * nfor _ in range(3): init = list(map(int,input().split())) for i, .. 2024. 6. 23.
[소프티어 7374번] 진정한 효도 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.aiimport sysinput = sys.stdin.readline# 남우 부모님의 농사일을 도우려고 함# 남우에게 할당된 땅은 3x3 크기의 격자# 1  이번 문제는 3x3 크기의 격자에서 1x3 크기의 영역 안의 값들이 모두 같은 블럭을 1개 이상 만들기 위해 필요한 최소 비용을 구하는 문제이다. 비용을 구하기에 앞서서 격자 중에서 값이 모두 같은 1x3 크기의 블럭이 있는지 확인하기 위해 가로와 세로 기준으로 점검하는 함수(check_row / check_col)을 선언하였고, 모든 행과 열을 순회하면서 점검해본 결과 존재할 경우(available) 곧바로 0을 출력하도록 구현하였다. 만약에 값이 모두 같은 1x3 크기의 블럭이 없다.. 2024. 6. 19.
[프로그래머스] 안전지대 def solution(board): # 지뢰가 있는 지역과 지뢰에 인접한 위, 아래, 좌, 우 대각선 칸을 모두 위험지역으로 분류 # 지뢰는 2차원 배열 board에 1로 표시되어 있고 board에는 지뢰가 매설 된 지역 1과, 지뢰가 없는 지역 0만 존재 answer = 0 def return_boom_set(x,y): temp_set = set() for i in range(x-1,x+2): for j in range(y-1,y+2): if 0  본 문제는 지뢰가 설치된 영역이 주어지고, 지뢰가 설치된 자리와 지뢰를 둘러싼 자리들이 위험지대라고 가정할 때 안.. 2024. 6. 9.
[백준 23289번] 온풍기 안녕! 23289번: 온풍기 안녕! 유난히 추운 날씨가 예상되는 이번 겨울을 대비하기 위해 구사과는 온풍기를 설치하려고 한다. 온풍기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기 www.acmicpc.net import sys from collections import deque input = sys.stdin.readline # 가장 처음에 모든 칸의 온도는 0 # 1. 집에 있는 모든 온풍기에서 바람이 한 번 나옴 # 2. 온도가 조절됨 # 3. 온도가 1 이상인 가장 바깥쪽 칸의 온도가 1씩 감소 # 4. 초콜릿을 하나 먹는다. # 5. 조사하는 모든 칸의 온도가 K 이상이 되었는지 검사. # 모든 칸의 온도가 K이상이면 테스트를 중단하고, 아니면 1부터 다시 .. 2024. 4. 13.
[백준 20058번] 마법사 상어와 파이어스톰 20058번: 마법사 상어와 파이어스톰 마법사 상어는 파이어볼과 토네이도를 조합해 파이어스톰을 시전할 수 있다. 오늘은 파이어스톰을 크기가 2N × 2N인 격자로 나누어진 얼음판에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c www.acmicpc.net import copy from collections import deque n, q = map(int,input().split()) area = [list(map(int,input().split())) for _ in range(2**n)] visited = [[False]*len(area) for _ in range(len(area))] l_list = list(map(int,input().split())) dx = [0,0,-1,1] dy .. 2024. 4. 7.