GitHub

https://github.com/Choidongjun0830

백준 64

Baekjoon Online Judge 9613번 파이썬

문제 링크 https://www.acmicpc.net/problem/9613 9613번: GCD 합 첫째 줄에 테스트 케이스의 개수 t (1 ≤ t ≤ 100)이 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있다. 각 테스트 케이스는 수의 개수 n (1 < n ≤ 100)가 주어지고, 다음에는 n개의 수가 주어진 www.acmicpc.net for j in range(1,N+1): for k in range(j+1, N+1): 이것을 이용해 가능한 모든 쌍의 조합을 찾았다. 정답 코드 import sys import math T = int(sys.stdin.readline()) for i in range(T): result = 0 numbers= list(map(int, sys.stdin.readli..

Baekjoon Online Judge 1158번 파이썬

문제 링크 https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net K가 3이란 뜻은 3번째 사람마다 죽여야한다는 의미다. 이를 위해서는 주기가 2가 되어야한다. 그래서 사람 한 명을 죽일 때마다 ‘없애야하는 인덱스’를 2씩 더해주어야한다. 하지만 없애야하는 인덱스보다 남은 사람 수가 적다면 문제가 생긴다. ‘2씩 더한 결과로 생기는 없애야하는 인덱스’와 ‘파란색으로 표시한 요세푸스 순열의 규칙에 따른 없애야하는 인덱스’를 비교해보면, (남은 사람 수 % 2씩 더한 결과로 생기는 없애야하는 인덱스 = 파란색으로 표시한 없애야하는 인덱스)가 된다..

Baekjoon Online Judge 1406번 파이썬

문제 링크 https://www.acmicpc.net/problem/1406 1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net 처음에 잘못 짠 코드 import sys string = list(sys.stdin.readline().rstrip()) M = int(sys.stdin.readline().rstrip()) N = len(string) cursor = len(string) for i in range(M): command = list(sys.stdin.readline().split()) if command..

Baekjoon Online Judge 11656번 파이썬

문제 링크 https://www.acmicpc.net/problem/11656 11656번: 접미사 배열 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다. www.acmicpc.net 문자열의 인덱싱을 이용해서 접미사를 찾았고 sorted()를 이용해서 사전순 정렬하였다. 정답 코드 import sys string = sys.stdin.readline().rstrip() suffix = [] for i in range(len(string)): suffix.append(string[i:len(string)]) suffix = sorted(suffix) for i in range(len(string)): print(suffix[i])

BaekJoon Online Judge 10824번 파이썬

문제 링크 https://www.acmicpc.net/problem/10824 10824번: 네 수 첫째 줄에 네 자연수 A, B, C, D가 주어진다. (1 ≤ A, B, C, D ≤ 1,000,000) www.acmicpc.net 처음에 숫자를 문자열로 받아서 그 문자를 결합시켰다. 그리고 그 문자들을 숫자로 바꿔서 더했다. 정답 코드 import sys numbers = list(sys.stdin.readline().split()) number1 = numbers[0] + numbers[1] number2 = numbers[2] + numbers[3] result = int(number1) + int(number2) print(result)

BaekJoon Online Judge 11655번 파이썬

문제 링크 https://www.acmicpc.net/problem/11655 11655번: ROT13 첫째 줄에 알파벳 대문자, 소문자, 공백, 숫자로만 이루어진 문자열 S가 주어진다. S의 길이는 100을 넘지 않는다. www.acmicpc.net 처음엔 알파벳 리스트를 직접 작성하여 그것을 바탕으로 이 문제를 풀어가려 했다. 하지만 이렇게 하면 코드가 복잡해보였다. 그래서 해결방법을 알아보던 중 아스키 코드로 해결하는 방법을 보고 아스키 코드를 이용하여 해결했다. 처음에 잘못 짠 코드 for s in string: if s.isupper(): now_index = alphabet.index(s.lower()) password_index = now_index + 13 if password_index ..

BaekJoon Online Judge 10820 파이썬

문제 링크 https://www.acmicpc.net/problem/10820 10820번: 문자열 분석 문자열 N개가 주어진다. 이때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오. 각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있 www.acmicpc.net 이번 문제는 처음에 반복 횟수를 입력하지 않는다. 그래서 입력이 없을 경우에 반복을 끝내야한다. 이것을 if not string: 을 이용하여 입력받는 문자열의 변수명이 string이므로 string이 없다면 break하도록 하였다. import sys while True: string = sys.stdin.readline().rstrip("\n") if not string: bre..

728x90