전체 글

Choices nudge me onward, towards Dannaward
Archive/BOJ

백준 1018번: 체스판 다시 칠하기

www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 구현 언어: 파이썬 import copy def cntBlocks(input_list): blackFirstCnt = 0 whiteFirstCnt = 0 for i in range(8): for j in range(8): if (i + j) % 2 == 0: if input_list[i][j] != True: whiteFirstCnt += 1 if input_list[i][j] != False: blac..

Archive/BOJ

백준 11050번: 이항 계수 1

www.acmicpc.net/problem/11050 11050번: 이항 계수 1 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net 구현 언어: 파이썬 def fac(n): result = 1 if n != 0: for i in range(1, n+1): result *= i return result n, k = map(int, input().split()) print(fac(n) // (fac(k) * fac((n - k)))) 시도 횟수: 2 구현 포인트: 입력 형태를 잘 확인하자 ..

Archive/BOJ

1259번: 팰린드롬수

www.acmicpc.net/problem/1259 1259번: 팰린드롬수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다. www.acmicpc.net 구현 언어: 파이썬 n = -1 while(int(n) != 0): n = input() flag = True for i in range(0, len(n) // 2 + 1): if n[i] != n[len(n)-1 - i]: print("no") flag = False break if flag == True and n != '0': print("yes") 시도 횟수: 1 구현 포인트: 써지는대로 쓰지 말고 생각하고 쓰자

Archive/BOJ

백준 2798번: 블랙잭

www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 구현 언어: 파이썬 sum = 0 answer = 0 diff = 1000000 n, m = map(int, input().split()) cards = list(map(int, input().split())) for i in range(0, n): for j in range(i+1, n): for z in range(j+1, n): sum = cards[i] + cards[j]..

Archive/BOJ

백준 10250번: ACM 호텔

www.acmicpc.net/problem/10250 10250번: ACM 호텔 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수 www.acmicpc.net 구현 언어: 파이썬 T = int(input()) for i in range(0, T): cnt = 0 h, w, n = map(int, input().split()) for j in range(0, w): for z in range(0, h): cnt += 1 if cnt == n: print("{0}{1:0>2}".format(z+1, j+1)) 시도 횟수: 1 구현 포인트: 어떤 순서로 방을 ..

Archive/BOJ

백준 1085번: 직사각형에서 탈출

www.acmicpc.net/problem/1085 1085번: 직사각형에서 탈출 한수는 지금 (x, y)에 있다. 직사각형의 왼쪽 아래 꼭짓점은 (0, 0)에 있고, 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오. www.acmicpc.net 구현 언어: 파이썬 x, y, w, h = map(int, input().split()) answer = 0 # 사각형의 세로 2등분 중 왼쪽 if x = 0 and y >= h: answer = y - h elif x >= 0 and y = 0 and y = 0 and y

Archive/BOJ

백준 1152번: 단어의 개수

www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 www.acmicpc.net 구현 언어: 파이썬 a = input() list = a.split() print(len(list)) 시도 횟수: 1 구현 포인트: 파이썬에는 str.split()이 있다 ~~

Archive/BOJ

백준 5532번: 방학 숙제

www.acmicpc.net/problem/5532 5532번: 방학 숙제 한 줄에 하나씩 총 다섯 줄에 걸쳐 L, A, B, C, D가 주어진다. (2 ≤ L ≤ 40, 1 ≤ A, B ≤ 1000, 1 ≤ C, D ≤ 100) 항상 방학 숙제를 방학 기간내에 다 할 수 있는 경우만 입력으로 주어진다. www.acmicpc.net 구현 언어: 파이썬 a = [] for i in range (0, 5): a.append(int(input())) kor = a[1] // a[3] if a[1] % a[3] != 0: kor += 1 mat = a[2] // a[4] if a[2] % a[4] != 0: mat += 1 print(a[0] - max(kor, mat)) 시도 횟수: 2 구현 포인트:

Archive/BOJ

백준 2752번: 세수정렬

https://www.acmicpc.net/problem/2752 2752번: 세수정렬 숫자 세 개가 주어진다. 이 숫자는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 이 숫자는 모두 다르다. www.acmicpc.net 구현 언어: 파이썬 a = list(map(int, input().split())) for i in range (0,3): for j in range (i,3): if a[i] >= a[j]: tmp = a[i] a[i] = a[j] a[j] = tmp print(a[0], a[1], a[2]) 시도 횟수: 1 구현 포인트:

Archive/BOJ

백준 2525번: 오븐시계

https://www.acmicpc.net/problem/2525 2525번: 오븐 시계 첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.) www.acmicpc.net 구현 언어: 파이썬 hr, min = map(int, input().split()) time = int(input()) min += time # 분의 범위(60분)를 초과했을 경우 while (min >= 60): min -= 60 hr += 1 # 만약 시의 범위(24시간)을 초과한 경우 while (hr >= 24): hr = hr-24 print(hr, min) 시도 횟수: 3 ..

Danna 다나
toward, dannaward