728x90
반응형

python 32

단계별로 풀어보기 7 - 2차원 배열(3), 8 - 일반 수학 1(1)

문제번호 2563번 색종이 첫째 줄에 색종이의 수가 입력된다. 둘째 줄부터 한 줄에 하나씩 색종이를 붙인 위치가 입력된다. 첫째 줄에 색종이가 붙은 검은 영역의 넓이를 출력해야 한다. 색종이의 크기는 10x10이다. 답안 : 1 import sys 2 array = [[0 for _ in range(101)] for _ in range(101)] 3 N = int(input()) 4 for _ in range(N) : 5 x, y = map(int, sys.stdin.readline().split()) 6 for row in range(x, x + 10) : 7 for column in range(y, y + 10) : 8 array[row][column] = 1 9 total = 0 10 for x i..

단계별로 풀어보기 7 - 2차원 배열(2)

문제번호 2566번 최댓값 첫째 줄부터 아홉 번째 줄까지 한 줄에 아홉 개씩 수가 입력된다. 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행과 열을 빈칸을 사이에 두고 차례로 출력해야 한다. 최댓값이 두 개 이상인 경우 그중 한 곳의 위치를 출력한다. 답안 : 1 import sys 2 num = [] 3 max_num = 0 4 max_num_row = 0 #행 5 max_num_column = 0 #열 6 for i in range(9) : 7 num.append(list(map(int,sys.stdin.readline().split()))) 8 for row in range(9) : 9 for column in range(9) : 10 num_now = num[row][column] 1..

단계별로 풀어보기 6 - 심화 1 (4), 7 - 2차원 배열(1)

문제번호 25206번 너의 평점은 20줄에 걸쳐 전공과목명 학점 등급이 입력된다. 전공평점을 출력해야 한다. 답안 : 1 import sys 2 total_credit = 0 3 GP = 0 4 for _ in range(20) : 5 name, credit, mp = sys.stdin.readline().split() 6 total_credit += float(credit) 7 if mp == 'A+' : 8 GP += 4.5 * float(credit) 9 elif mp == 'A0' : 10 GP += 4.0 * float(credit) 11 elif mp == 'B+' : 12 GP += 3.5 * float(credit) 13 elif mp == 'B0' : 14 GP += 3.0 * float..

단계별로 풀어보기 6 - 심화1 (3)

문제번호 2941번 크로아티아 알파벳 첫째 줄에 알파벳 소문자와 -, =으로만 이루어진 문자들이 입력된다. 입력으로 주어진 단어가 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력해야 한다. 답안 : 1 Cro_alpa = input() 2 count = 0 3 while len(Cro_alpa) >= 1: 4 if Cro_alpa.find('-') == 1 or Cro_alpa.find('=') == 1 or Cro_alpa.find('nj') == 0 or Cro_alpa.find('lj') == 0: 5 count += 1 6 Cro_alpa = Cro_alpa[2:] 7 elif Cro_alpa.find('dz=') == 0 : 8 count += 1 9 Cro_alpa = Cro_alpa[3:..

단계별로 풀어보기 6 - 심화1 (2)

문제번호 10988번 팰린드롬인지 확인하기 첫째 줄에 알파벳 소문자로만 이루어진 단어가 입력된다. 첫째 줄에 팰린드롬(거꾸로 읽을 때 같은 단어)이면 1, 아니면 0을 출력해야 한다. 답안 : 1 Pal = input() 2 if Pal == Pal[::-1] : 3 print(1) 4 else: 5 print(0) comment : # 단어를 입력하고, 단어를 거꾸로 했을 경우에 같으면 1, 다르면 0을 출력하는 조건문을 작성하였다. ---------------------------------------------------------- 문제번호 1157번 단어 공부 첫째 줄에 알파벳 대소문자로 이루어진 단어가 입력된다. 첫째 줄에 이 단어에서 가장 많이 사용된 알파벳(대소문자 구분 x)을 대문자로 출..

단계별로 풀어보기 6 - 심화1 (1)

문제번호 25083번 새싹 새싹을 출력해야 한다. 답안 : 1 print(' ,r\'"7') 2 print('r`-_ ,\' ,/') 3 print(' \\. ". L_r\'') 4 print(' `~\\/') 5 print(' |') 6 print(' |') comment : # 역슬래시(\)나 따옴표(', ")들을 사용할 때는 주의해서 확인하면 된다. ---------------------------------------------------------- 문제번호 3003번 킹, 퀸, 룩, 비숍, 나이트, 폰 첫째 줄에 킹 퀸 룩 비숍 나이트 폰의 개수가 입력된다. 몇 개의 피스를 더하거나 빼야 하는지를 출력해야 한다. 답안 : 1 import sys 2 k, q, r, b, kn, p = map(i..

단계별로 풀어보기 5 - 문자열(3)

문제번호 2675번 문자열 반복 첫째 줄에 테스트 케이스의 개수 T가 입력된다. 각 테스트 케이스는 R(반복 횟수) S(문자열)가 공백으로 구분되어 입력된다. 각 테스트 케이스에 대해 P를 출력해야 한다. 답안 : 1 T = int(input()) 2 for _ in range(T): 3 R, S = input().split() 4 R = int(R) 5 for x in S : 6 print(x*R, end='') 7 print() comment : # 숫자 T를 입력하는 코드를 작성하고 T만큼 반복시키는 반복문을 작성한다. # R과 S의 타입이 다르기 때문에 input으로만 받은 후 숫자가 필요한 R값만 int로 바꿔준다. # 문자열에 대해서 해당 문자열을 R만큼 반복하고, 붙여쓰기 위해서 end = ..

단계별로 풀어보기 5 - 문자열(2)

문제번호 11720번 숫자의 합 첫째 줄에 숫자의 개수가 입력되고, 둘째 줄에 숫자 N개가 공백없이 입력된다. 입력으로 주어진 숫자 N개의 합을 출력해야 한다. 답안 : 1 N = int(input()) 2 num = input() 3 total = 0 4 num_list = list(num) 5 for a in num_list : 6 total += int(a) 7 print(total) comment : # 첫째 줄과 둘째 줄의 값을 받아주는 코드를 작성한다. 공백없이 입력된 숫자들을 문자열로 받는 이유는 리스트로 만든 후 각각의 원소들을 나중에 정수형으로 만들어서 계산하기 위함이다. # 계산하기 위해서 값을 저장할 총합 변수를 0으로 설정해준다. # 숫자에 대한 문자열을 리스트함수를 사용하여 문자 ..

단계별로 풀어보기 5 - 문자열(1)

문제번호 27866번 문자와 문자열 첫째 줄에는 영문자, 둘째 줄에는 정수 i가 입력된다. 문자열의 i번째 글자를 출력해야 한다. 답안 : 1 S = input() 2 i = int(input()) 3 print(S[i-1]) comment : # S와 i를 각각 문자열과 정수로 입력받은 후 인덱스를 출력하면 된다. # 문자열에 대해서 i번째의 인덱스는 i-1이다. ---------------------------------------------------------- 문제번호 2743번 단어 길이 재기 첫째 줄에 영문자가 입력된다. 단어의 길이를 출력해야 한다. 답안 : 1 S = input() 2 print(len(S)) comment : # 문자열을 입력받고, 길이를 출력해주는 len 함수를 사용하..

728x90
반응형