본문 바로가기

다시11

[백준] 2630번 색종이 만들기(python) https://www.acmicpc.net/problem/2630 2630번: 색종이 만들기 첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 16, 32, 64, 128 중 하나이다. 색종이의 각 가로줄의 정사각형칸들의 색이 윗줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진다. www.acmicpc.net 1. 내가 작성한 코드 n = int(input()) #한 변의 길이 paper = [list(map(int, input().split())) for _ in range(n)] result = [] def cut(x,y,n): color = paper[x][y] #첫 paper의 색 for i in range(x, x+n): for j in range(y,y+n): if.. 2023. 2. 14.
[백준] 15469번 N과 M (1)(with python) https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 1. 내가 작성한 코드 from itertools import permutations n, m = map(int, input().split()) arr = [] for i in range(1,n+1): arr.append(i) for j in permutations(arr, m): for i in j: print(i, end=' ') print() 1. 1부터 M까지의 수를 list에 삽입한다 .. 2023. 2. 4.
[백준] 2292번 벌집(with python) https://www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌 www.acmicpc.net 1. 내가 작성한 코드 a = int(input()) num = 0 arr = [] for i in range(1,a+1): if i == 1: arr.append(1) elif i in [2,3,4,5,6,7]: arr.append(2) else: for i in range(2,a): if len(arr) >= a: break num += 6 * i for j in range(num, (num+6*i)).. 2023. 1. 22.
[백준] 2798번 블랙잭(with python) https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 1. 내가 작성한 코드 n,m = map(int, input().split()) num = list(map(int, input().split())) result = [] for i in range(n): arr = [] arr.append(num[i]) for j in range(i+1,n): arr.append(num[j]) arr = [num[1]] for h .. 2023. 1. 21.
[백준] 2941번 크로아티아 알파벳(with python) https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 1. 내가 작성한 코드 word = input() cnt = 0 for i in range(len(word)): if i == 0: pass else: if word[i] in ['=']: if (word[i-1] in ['c','s']): cnt += 1 elif (word[i-1] == 'z') and (word[i-2] != 'd'): cnt += 1 e.. 2023. 1. 21.
[백준] 1157번 단어 공부(with python) https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 1. 내가 작성한 코드 voca = input().upper() voca_list = list(set(voca)) cnt = [] for i in voca_list: cnt.append(voca.count(i)) if cnt.count(max(cnt)) > 1: print("?") else: print(voca_list[(cnt.index(max(cnt)))]) upper, set 함수를 이용하면 되는데, 이게 잘 생각이 나지 않.. 2023. 1. 20.
[백준] 10809번 알파벳 찾기(with python) https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net 1. 내가 작성한 코드 vo_ca = list(input()) #소문자로 주어짐 arr = [] #a~z list ind_list = [] for i in range(97,123): #a~z까지 들어있는 list 생성 arr.append(chr(i)) for j in arr: if j in vo_ca: ind_list.insert(arr.index(j), vo_ca.index(j)) .. 2023. 1. 20.
[백준] 4344번 평균은 넘겠지(with python) https://www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net 1. 내가 작성한 코드 c = int(input()) #테스트 케이스 C의 개수 for i in range(c): arr = list(map(int, input().split())) #테스트케이스 입력 score = arr[1:] #과목 수를 나타내는 인덱스 제외하고 SCORE 리스트에 넣음 result = [] avg = sum(score)/arr[0] #평균 구하기 for j in arr[1:]: #총 평균보다 큰 학생 찾기 if j > avg: result.append.. 2023. 1. 18.
[백준] 3052번 나머지(with python) https://www.acmicpc.net/problem/3052 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net 1. 내가 작성한 코드 a = [] result = [] for _ in range(10): num = int(input()) a.append(num%42) for j in a: if j not in result: result.append(j) print(len(result)) set함수를 이용하려고 했는데 계속 안되길래 for문과 not in 구문을 이용해 구했다. 왜 set 함수가 안써졌나~ 확인해보니 변수를 할당하지 않고 set(result)라고만 적어서 그런다.. 2023. 1. 18.