본문 바로가기

Algorithm/구현92

[Python3] 백준 1283번 단축키 지정 사용 언어 - Python3 문제 - 단축키 지정 1283번: 단축키 지정 첫째 줄에 옵션의 개수 N(1 ≤ N ≤ 30)이 주어진다. 둘째 줄부터 N+1번째 줄까지 각 줄에 옵션을 나타내는 문자열이 입력되는데 하나의 옵션은 5개 이하의 단어로 표현되며, 각 단어 역시 10개 이하 www.acmicpc.net 정답 이중반복문 구현 (정답 맞춘 여부 X) import sys n = int(sys.stdin.readline()) arr = [] for _ in range(n): word = list(map(str, sys.stdin.readline().split())) for i in range(len(word)): if word[i][0].upper() not in arr: arr.append(word[i.. 2023. 4. 9.
[Python3] 1235번 학생 번호 사용 언어 - Python3 문제 - 학생 번호 1235번: 학생 번호 첫째 줄에는 학생의 수 N(2≤N≤1,000)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 학생의 학생 번호가 순서대로 주어진다. 모든 학생들의 학생 번호는 서로 다르지만 그 길이는 모두 같으며, 0부 www.acmicpc.net 정답 이중반복문 구현 (정답 맞춘 여부 X) nums[0][-1] , nums[1][-1]을 비교해야하는 문제 answer = [] 빈 리스트에 num[j][-i:] append하기 answer 안에 해당 값이 있다면 break. 없을 때만 리스트에 append answer 안에 들어있는 원소가 n개가 되었다면 i를 출력하고 break n = int(input()) num = [] for _ in rang.. 2023. 4. 9.
[Python3] 1138번 한 줄로 서기 사용 언어 - Python3 문제 - 한 줄로 서기 1138번: 한 줄로 서기 첫째 줄에 사람의 수 N이 주어진다. N은 10보다 작거나 같은 자연수이다. 둘째 줄에는 키가 1인 사람부터 차례대로 자기보다 키가 큰 사람이 왼쪽에 몇 명이 있었는지 주어진다. i번째 수는 0보다 www.acmicpc.net 정답 이중반복문 구현 (정답 맞춘 여부 X) 각 자리마다 왼쪽에 있는 키 큰 사람수(cnt)는 총 4자리일때 0 1 2 3 이다. 왼쪽에 있는 키 큰 사람수 arr[i]가 cnt와 동일하고, 해당 자리가 비어있다면, answer[j] 그 자리에 i+1(자릿수가 1부터 시작하므로, 인덱스+1)을 앉힌다. 왼쪽에 있는 키 큰 사람수 arr[i]와 cnt가 동일하지 않고, 해당 자리가 비어있다면, cnt +=.. 2023. 4. 9.
[Python3] 백준 1347번 미로 만들기 사용 언어 - Python3 문제 - 미로 만들기 1347번: 미로 만들기 홍준이는 미로 안의 한 칸에 남쪽을 보며 서있다. 미로는 직사각형 격자모양이고, 각 칸은 이동할 수 있거나, 벽을 포함하고 있다. 모든 행과 열에는 적어도 하나의 이동할 수 있는 칸이 있다. 홍 www.acmicpc.net 정답 최대 x,y 값 구하고, 2차원 배열 만들기 (정답 맞춘 여부 X) 1. loc_list (0,0)에서 시작해서 이동한 값 x,y에 저장하기 R 명령어) 방향을 오른쪽으로 전환 -> status+1 한 후 4로 나누어 몇번째 원소인지 찾기 (status+1)%4 L 명령어) 방향을 왼쪽으로 전환 -> status가 0이 아니라면, status-1, 아니면 3 x는 loc_list의 가장 최근 x좌표에서 R.. 2023. 4. 9.
[Python3] 백준 1002번 터렛 사용 언어 - Python3 문제 - 터렛 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net 정답 if문 경우의 수 생각하기 (정답 맞춘 여부 X) 1. 두 원이 같고, 반지름이 같은 경우 => 무한한 경우 print(-1) 2. 두 원이 접해있는 경우 (내접 or 외접) => 무조건 점은 한개 print(1) 3. 두 원이 서로 다른 점 안에서 만날 때 => 점은 둘 중 하나 가능 print(2) 4. 나머지 경우 print(0) import math t = int(input()) for _ in range(t): x1, y1, r1, x2, y2, r2 = m.. 2023. 4. 7.
[Python3] 백준 1449번 수리공 항승 사용 언어 - Python3 문제 - 수리공 항승 1449번: 수리공 항승 첫째 줄에 물이 새는 곳의 개수 N과 테이프의 길이 L이 주어진다. 둘째 줄에는 물이 새는 곳의 위치가 주어진다. N과 L은 1,000보다 작거나 같은 자연수이고, 물이 새는 곳의 위치는 1,000보다 작거나 www.acmicpc.net 정답 조건문 (정답 맞춘 여부 X) 테이프를 처음 붙이는 start 지점에서 테이프길이 L 사이에 또 다른 물이 새는 위치가 있다면 continue 아니라면, start 지점 이동 + 테이프 한개를 더 사용해야하므로 cnt += 1 import sys input = sys.stdin.readline N,L = map(int,input().split()) #N물이 새는 곳의 개수 / L테이프의 길이.. 2023. 4. 5.
[Python3] 백준 1270번 전쟁 - 땅따먹기 사용 언어 - Python3 문제 - 전쟁 - 땅따먹기 1270번: 전쟁 - 땅따먹기 첫째 줄에는 땅의 개수 n(n 2023. 4. 5.
[Python3] 백준 1004번 어린 왕자 사용 언어 - Python3 문제 - 어린 왕자 1004번: 어린 왕자 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 첫째 줄에 출발점 (x1, y1)과 도착점 (x2, y2)이 주어진다. 두 번째 줄에는 행성계의 개수 n이 주 www.acmicpc.net 정답 출발/도착점-행성계 단순 계산 문제 (정답 맞춘 여부 X) 1. "제곱"을 통해 반지름 크기 비교 행성계 반지름 vs 출발점, 행성계 x 반지름 행성계 반지름 vs 도착점, 행성계 y 반지름 행성계 반지름보다 안에 있으면 카운트+=1 T=int(input()) for _ in range(T): x1, y1, x2, y2 = list(map(int,input().split())) #출발점, 도착점.. 2023. 4. 2.
[Python3] 백준 1063번 킹 사용 언어 - Python3 문제 - 킹 1063번: 킹 8*8크기의 체스판에 왕이 하나 있다. 킹의 현재 위치가 주어진다. 체스판에서 말의 위치는 다음과 같이 주어진다. 알파벳 하나와 숫자 하나로 이루어져 있는데, 알파벳은 열을 상징하고, 숫자는 www.acmicpc.net 정답 위치 이동시키는 nx,ny 문제 (정답 맞춘 여부 X) 1. ord("A") = 64 외우자 2. 딕셔너리를 이용하여 방향 move 설정 king, stone, N = input().split() k = list(map(int, [ord(king[0]) - 64, king[1]])) s = list(map(int, [ord(stone[0]) - 64, stone[1]])) move = {'R': [1, 0], 'L': [-1,.. 2023. 3. 31.
[프로그래머스 lv1] 크기가 작은 부분 문자열 사용 언어 - Python3 문제 - 크기가 작은 부분 문자열 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 문자열 인덱싱 관련 단순 구현 문제 (정답 맞춘 여부 O / 코드 풀이) 제한사항인 p의 길이 2023. 1. 25.