반응형

전체 글 268

[파이썬, Python] 백준 9656: 돌 게임 2

문제 https://www.acmicpc.net/problem/9656 9656번: 돌 게임 2 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. www.acmicpc.net 코드 n = int(input()) if n % 2 == 0: print("SK") else: print("CY") 설명 https://looancheong.tistory.com/176 [파이썬, Python] 백준 9655: 돌 게임 문제 https://www.acmicpc.net/problem/9655 9655번: 돌 게임 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. www.acmicpc.net 코드 n = int(input()) if n % 2 == 0: print("CY")..

[파이썬, Python] 백준 1120: 문자열

문제 https://www.acmicpc.net/problem/1120 1120번: 문자열 길이가 N으로 같은 문자열 X와 Y가 있을 때, 두 문자열 X와 Y의 차이는 X[i] ≠ Y[i]인 i의 개수이다. 예를 들어, X=”jimin”, Y=”minji”이면, 둘의 차이는 4이다. 두 문자열 A와 B가 주어진다. 이때, A의 www.acmicpc.net 코드 a, b = input().split() ans = list() for i in range(len(b) - len(a) + 1): cnt = 0 for j in range(len(a)): if a[j] != b[i+j]: cnt += 1 ans.append(cnt) print(min(ans)) 설명 우선 각 입력값을 받아준다. b의 개수에서 a의 ..

[파이썬, Python] 백준 9375: 패션왕 신해빈

문제 https://www.acmicpc.net/problem/9375 9375번: 패션왕 신해빈 첫 번째 테스트 케이스는 headgear에 해당하는 의상이 hat, turban이며 eyewear에 해당하는 의상이 sunglasses이므로 (hat), (turban), (sunglasses), (hat,sunglasses), (turban,sunglasses)로 총 5가지 이다. www.acmicpc.net 코드 import sys input = sys.stdin.readline t = int(input()) for i in range(t): ans = 1 clothes = dict() n = int(input()) for i in range(n): _, a = input().split() if a no..

[파이썬, Python] 백준 2193: 이친수

문제 https://www.acmicpc.net/problem/2193 2193번: 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않 www.acmicpc.net 코드 n = int(input()) dp = [0] * (n + 1) dp[1] = 1 for i in range(2, n+1): dp[i] = dp[i-2] + dp[i-1] print(dp[n]) 설명 규칙을 찾아서 해결하는 dp 문제였다. n = 1 일 때, [1] n = 2 일 때, [10] n = 3 일 때, [100][101] n = 4 일 때, [1000][1001][..

[파이썬, Python] 백준 1735: 분수 합

문제 https://www.acmicpc.net/problem/1735 1735번: 분수 합 첫째 줄과 둘째 줄에, 각 분수의 분자와 분모를 뜻하는 두 개의 자연수가 순서대로 주어진다. 입력되는 네 자연수는 모두 30,000 이하이다. www.acmicpc.net 코드 import math a, b = map(int, input().split()) c, d = map(int, input().split()) n = math.gcd(a*d + c*b, b*d) print((a*d + c*b)//n, b*d//n) 설명 단순한 방식으로 접근했다. 먼저 통분을 통해서 더해주었다. 이후 분자와 분모의 최대공약수로 나누어주어 해결했다.

[파이썬, Python] 백준 11652: 카드

문제 https://www.acmicpc.net/problem/11652 11652번: 카드 준규는 숫자 카드 N장을 가지고 있다. 숫자 카드에는 정수가 하나 적혀있는데, 적혀있는 수는 -262보다 크거나 같고, 262보다 작거나 같다. 준규가 가지고 있는 카드가 주어졌을 때, 가장 많이 가지 www.acmicpc.net 코드 import sys input = sys.stdin.readline n = int(input()) card = dict() for i in range(n): a = int(input()) if a not in card: card[a] = 0 card[a] += 1 print(max(sorted(card), key = card.get)) 설명 n을 입력받고, card의 딕셔너리를 이..

[파이썬, Python] 백준 1057: 토너먼트

문제 https://www.acmicpc.net/problem/1057 1057번: 토너먼트 김지민은 N명이 참가하는 스타 토너먼트에 진출했다. 토너먼트는 다음과 같이 진행된다. 일단 N명의 참가자는 번호가 1번부터 N번까지 배정받는다. 그러고 난 후에 서로 인접한 번호끼리 스타를 www.acmicpc.net 코드 n, a, b = map(int, input().split()) cnt = 0 while True: cnt += 1 if (a+1) // 2 == (b+1) // 2: print(cnt) break else: a = (a+1) // 2 b = (b+1) // 2 n, a, b = map(int, input().split()) cnt = 0 while a != b: cnt += 1 a -= a ..

[T-SUM] 2주차 자료 - Hello World! Hello Python!

오늘의 내용 미리보기 본문 우선 앞서 다운로드한 Jupyter Notebook을 실행합시다. 작업 표시줄 - 찾기 - Jupyer Notebook 검색 - 실행 그리고 원활한 수업 진행을 위해 폴더도 하나 만들어봅시다. 우측 상단에 버튼이 있어요. 그러면 중간에 폴더가 하나 짠하고 생깁니다. 이름을 바꿔줍시다. 폴더 옆에 체크박스를 클릭하면 왼쪽 위에 버튼이 생겨요. 원하는 폴더명으로 바꿔주고 폴더에 들어갑시다. 폴더에 들어가서 다시 New 버튼을 통해 파일을 하나 만듭시다. Python 3라고 되어있는 버튼을 눌러서 생성합시다. 첫 파이썬 파일을 생성했어요. '.ipynb' 라는 확장자는 Jupyter Notebook에서 사용하는 확장자 이름입니다. 보통 일반적인 파일은 '파일이름.py' 와 같이 py..

T-SUM 멘토링 2023.06.08

[파이썬, Python] 백준 1748: 수 이어 쓰기 1

문제 https://www.acmicpc.net/problem/1748 1748번: 수 이어 쓰기 1 첫째 줄에 N(1 ≤ N ≤ 100,000,000)이 주어진다. www.acmicpc.net 코드 n = int(input()) len_n = len(str(n)) cnt = 0 for i in range(len_n - 1): cnt += 9 * 10 ** i * (i+1) print(cnt + (n - 10 ** (len_n - 1) + 1) * len_n) 설명 단순하게 수를 구해서 푸는 문제라기엔 주어진 범위가 넓어서 규칙성을 찾아야 했다. 혼자서는 찾지 못해서 검색을 통해 해결했다. n의 규칙은 이렇다. 자릿수 1개의 경우: 숫자는 1~9까지 존재, 모두 더하면 자리수가 9개 자릿수 2개의 경우:..

[파이썬, Python] 백준 9613: GCD 합

문제 https://www.acmicpc.net/problem/9613 9613번: GCD 합 첫째 줄에 테스트 케이스의 개수 t (1 ≤ t ≤ 100)이 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있다. 각 테스트 케이스는 수의 개수 n (1 < n ≤ 100)가 주어지고, 다음에는 n개의 수가 주어진 www.acmicpc.net 코드 import math,sys input = sys.stdin.readline t = int(input()) for i in range(t): a = list(map(int, input().split())) n = a[0] nums = a[1:] cnt = 0 for i in range(n-1): for j in range(i+1, n): cnt += math.gc..

반응형