728x90

백준

  • 이전
  • 1
  • 2
  • 다음
백준

[백준] 2108번 파이썬

2108번 - 통계학 import sys from collections import Counter n = int(sys.stdin.readline()) data = [int(sys.stdin.readline()) for i in range(n)] s = round(sum(data)/n) a = sorted(data)[int((n-1)/2)] rng = (max(data))-(min(data)) count = Counter(data).most_common() most_com_num = [] if n == 1: q = count[0][0] else: for i in range(0, len(count)): if count[0][1] == count[i][1]: most_com_num.append(count[i..

백준

[백준] 2563번 파이썬

2563번 - 색종이 2차원 배열을 색칠 하는 방법 0으로 가득 찬 2차원 리스트를 만든 후 원하는 좌표의 0을 1로 바꾼 후 전체 리스트의 1 개수를 센다. 겹친 부분의 넓이 역시 무조건 1로 바꿔 버리면 이미 1이어도 변화가 없을테니 상관 없다. n = int(input()) canvas = [[0]*101 for i in range(101)] for _ in range(n): x, y = map(int, input().split()) for i in range(10): for j in range(10): canvas[x+i][y+j] = 1 s = 0 for i in canvas: s += sum(i) print(s)

백준

[백준] 2566번 파이썬

2566번 - 행렬 내의 최댓값 import sys n = 9 m = -1 r = 0 c = 0 mat = [] for i in range(n): row = list(map(int,sys.stdin.readline().split())) mat.append(row) for i in range(n): for j in range(n): if mat[i][j] > m: m = mat[i][j] r = i + 1 c = j + 1 print(m) print(r, c)

백준

[백준] 2738번 파이썬

2738번 - 행렬 덧셈 아래 코드는 백준에서 쓸 수 있는 코드이다. import sys n, m = map(int,sys.stdin.readline().split()) mat_1 = [] mat_2 = [] for i in range(n): row = list(map(int,sys.stdin.readline().split())) mat_1.append(row) for i in range(n): row = list(map(int,sys.stdin.readline().split())) mat_2.append(row) for i in range(n): for j in range(m): print(mat_1[i][j] + mat_2[i][j], end=' ') print() 아래 코드는 백준에서는 쓸 수 없다..

백준

[백준] 4948번 파이썬

베르트랑 공준(Bertrand's postulate)이란 정수론에서 소수의 분포에 관한 정리이다. 정리에 따르면 두 정수 $n$과 $2n$ 사이에는 적어도 한 개의 소수가 존재 한다고 한다. 임의의 정수 $2 {\leq} n$에 대하여 $n

백준

[백준] 11653번 파이썬

11653번 - 소인수분해 import sys a = int(sys.stdin.readline()) s = 2 if a == 1: print("") while s

백준

[백준] 1929, 2581번 파이썬

1929, 2581번 - 소수 2581번 임의의 자연수 a이상 b이하 구간에 있는 소수 구하기 import sys a = int(sys.stdin.readline()) b = int(sys.stdin.readline()) number = [i for i in range(a, b+1)] pr_num = [] def is_prime(num): y = True if num == 2: y = True elif num

백준

[백준] 2839번 파이썬

2839번 - 설탕 봉지 _ 그리디 알고리즘 n = int(input()) c = 0 while n >= 0: if (n % 5) == 0: c += (n // 5) print(c) break n -= 3 c += 1 else: print(-1) 먼저 5의 배수인 경우를 n % 5로 해결 5의 배수가 아닐 경우 3 씩 빼 본다. 그러다가 5의 배수가 되면 n % 5로 해결하고 5의 배수가 안나온다면 계속 3 씩 빼게 되어 해결 3 씩 빼는 이유는 5 처럼 나눠버리는 경우 18 같은 3의 배수는 오직 %3 만으로 계산이 끝나버려 답을 얻을 수 없기 때문.

백준

[백준] 2775번 파이썬

2775번 - 부녀회장 t = int(input()) for _ in range(t): k = int(input()) # 층 수 n = int(input()) # 호 수 f_0 = [i for i in range(1, n+1)] # 0층 for i in range(k): for j in range(1, n): f_0[j] += f_0[j-1] print(f_0[-1])

백준

[백준] 10250번 파이썬

10250번 - ACM 호텔 _ 출력 팁 import sys m = int(input()) for _ in range(m): h,w,n = map(int,sys.stdin.readline().split()) a = (n//h) + 1 b = n%h if b == 0: a = n//h b = h print(b*100+a) 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수를 포함하고 있으며 각각 호텔의 층 수, 각 층의 방 수, 몇 번째 손님인지를 나타낸다(1 ≤ H, W ≤ 99, 1 ≤ N ≤ H × W). 프로그램은 표준 출력에 출력한다. 각 테스트 데..

백준

[백준] 1316번 파이썬

1316번 - 그룹단어 import sys n = int(sys.stdin.readline()) data = [sys.stdin.readline().strip() for i in range(n)] f = 0 for i in range(0, n): c = 0 for j in range(0, len(data[i])+1): try: if data[i][j] != data[i][j+1]: c += 1 except: pass if len(set(data[i])) == c+1: f += 1 print(f) 그룹 단어는 다음 조건을 만족 한다. 알파벳의 종류가 바뀌는 위치 개수 + 1 == 알파벳의 개수

백준

[백준] 2941번 파이썬

2941번 - 크로아티아 알파벳 _ replace팁 정답 n = str(input().strip()) n_list = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z='] for i in n_list: n = n.replace(i, '*') print(len(n)) 만약에 n = n.replace(i, ‘*’) 가 아니라 new_n = n.replace(i, ‘*’) 로 다른 변수에 저장하면 ljes=njak ljes=njak ljes=njak ljes=njak *es=njak ljes=*ak lje*njak ljes=njak 이런 식으로 나..

백준

[백준] 2908번 파이썬

2908번 - 숫자 뒤집기 _ [ : : ] 이용 내 최초 답안이다 a, b = map(str, input().split(" ")) a_list = [] b_list = [] for i in range(0, 3): a_list.append(a[i]) b_list.append(b[i]) a_list.reverse() b_list.reverse() a_rev = int(a_list[0])*100 + int(a_list[1])*10 + int(a_list[2]) b_rev = int(b_list[0])*100 + int(b_list[1])*10 + int(b_list[2]) if a_rev > b_rev: print(a_rev) elif a_rev < b_rev: print(b_rev) 내가 보기엔 더 우아한..

백준

[백준] 1157번 파이썬

1157번 - 단어공부 _ counter 내 코드이다. 메모리 32432 KB, 코드 길이 429 B, 시간 76 ms. import sys n = sys.stdin.readline().strip().upper() n_set = set(n) n_list = list(n_set) data = [] if len(n_list) == 1: print(n) else: for i in range(0, len(n_list)): data.append([n_list[i], n.count(n_list[i])]) s_data = sorted(data, key=lambda count : count[1], reverse=True) if s_data[0][1] > s_data[1][1]: print(s_data[0][0]) el..

백준

[백준] 2675번 파이썬

2675번 - 문자열 반복 출력 _ 출력 팁 n = int(input()) for i in range(n): m, s = input().split() ans = '' for j in s: ans += int(n) * j print(ans) 예시 입력은 다음과 같다 입력 2 3 ABC 5 /HTP 출력 AAABBBCCC /////HHHHHTTTTTPPPPP 첫 줄에 개수, 첫 숫자는 반복 회수, 두 번째는 문자열 나는 이걸 다음과 같이 입력 받으려고 했음. 한 번에 다 입력 받고 계산 하기로. import sys data = [] n = int(sys.stdin.readline()) for i in range(n): data.append(list(map(str,sys.stdin.readline().spli..

백준

[백준] 10809번 python

10809번 - 알파벳 찾기 내 최초 제출 정답 import sys n = sys.stdin.readline() alp = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'] for i in alp: if i in n: print(n.index(i)) elif i not in n: print('-1') 위 코드에서 index method를 사용하고 싶지 않아 만든 아래 코드 import sys n = sys.stdin.readline() alp = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q'..

백준

입력 받기 - sys.stdin.readline()

적은 양을 입력 받을 때는 input()을 사용해도 상관이 없지만 입력 양이 많아지면 input() 만으로는 시간 초과로 문제가 생김. 따라서 내장 라이브러리인 sys 모듈을 이용해 입력 받는다. 한 개의 정수 import sys a = int(sys.stdin.readline()) 정해진 소수의 정수를 한 줄에 입력 받음 import sys a,b,c = map(int,sys.stdin.readline().split()) 입력 데이터가 정말 적다면 그냥 input()을 사용 하는 것도... a = int(input()) b = int(input()) c = int(input()) 정수 하나와 문자열 하나를 두 줄에 입력 받음 import sys a = int(sys.stdin.readline()) b ..

__name__
'백준' 카테고리의 글 목록 (2 Page)
728x90