BAEKJOON (Python)/단계별 43

BAEKJOON_1193 "분수찾기" PYTHON

[백준] 1193번 Python 파이썬 https://www.acmicpc.net/problem/1193 1193번: 분수찾기 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. www.acmicpc.net 생각보다 너무 오래걸렸다.. 다른 사람들의 코드를 보고 이해한 후 해결하였는데 n번째 줄을 구하는 방법을 이해하는 게 어려웠다. n = int(input()) i = 1 while n > i: n -= i i += 1 if i % 2 == 0: print(str(n) + '/' + str(i + 1 - n)) else: print(str(i + 1 - n) + '/' + str(n)) 혼자 공부하며 올리는 블로그입니다. 틀린 내용은 댓글 남겨주시면 감사하겠습니다.

BAEKJOON_9012 "괄호" PYTHON

[백준] 9012번 Python 파이썬 https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 처음에는 리스트를 만든 후 ' ( ' 를 입력받으면 리스트에 담고 ' ) ' 를 입력받으면 pop() 함수를 이용해서 리스트에서 제거해주었는데 리스트에 아무것도 없는데 ' ) ' 를 입력받으면 IndexError가 뜬다. import sys n = int(sys.stdin.readline()) lt = [] f..

BAEKJOON_13241 "최소공배수" PYTHON

[백준] 13241번 Python 파이썬 https://www.acmicpc.net/problem/13241 13241번: 최소공배수 정수 B에 0보다 큰 정수인 N을 곱해 정수 A를 만들 수 있다면, A는 B의 배수이다. 예: 10은 5의 배수이다 (5*2 = 10) 10은 10의 배수이다(10*1 = 10) 6은 1의 배수이다(1*6 = 6) 20은 1, 2, 4,5,10,20의 배수이다. 다 www.acmicpc.net 1934번과 같은 방법으로 최소공배수를 구하였다. https://rilla0511.tistory.com/94 BAEKJOON_1934 "최소공배수" PYTHON [백준] 1934번 Python 파이썬 https://www.acmicpc.net/problem/1934 1934번: 최소..

BAEKJOON_1934 "최소공배수" PYTHON

[백준] 1934번 Python 파이썬 https://www.acmicpc.net/problem/1934 1934번: 최소공배수 두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있 www.acmicpc.net for문을 이용하여 최소공배수를 구했더니 시간 초과가 떴다. import sys n = int(sys.stdin.readline()) result = 1 for i in range(n): a, b = map(int, sys.stdin.readline().split()) for j in range(max(a, b)..

BAEKJOON_10798 "세로읽기" PYTHON

[백준] 10798번 Python 파이썬 https://www.acmicpc.net/problem/10798 10798번: 세로읽기 총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’ www.acmicpc.net 'words'라는 행렬을 생성한다. 문제에서 알파벳 또는 숫자가 입력된다고 했으므로 '*'가 들어있는 행렬을 만들었다. 이 행렬은 15*5의 크기이다. 이 행렬에 입력은 문자를 한 글자씩 넣어주어 문자가 입력되지 않은 행을 제외하고 세로로 출력해주었다. words = [['*' for j in range(15)] for i in range(5)] f..

‘words = [[0]*15]*5’와 ‘words = [[0 for j in range(15)] for i in range(5)]’의 차이점

>> words = [[0]*15]*5 >> words = [[0 for j in range(15)] for i in range(5)] 위 두 개의 코드의 차이점은 리스트의 초기화 방법이다. '[0]*15'는 0으로 초기화된 길이가 15인 리스트를 만들고, 이 리스트를 5번 반복하여 5개의 리스트를 생성한다. 이 경우, 5개의 리스트가 모두 동일한 리스트 객체를 참조하므로, 한 리스트를 수정하면 모든 리스트가 영향을 받는다. 'words = [[0 for j in range(15)] for i in range(5)]' 코드의 경우 0으로 초기화된 길이가 15인 리스트를 5버 생성하여, 5개의 독립된 리스트를 만든다. 이 경우, 5개의 리스트가 서로 독립적으로 생성되므로, 한 리스트를 수정해도 다른 리스트..

BAEKJOON_1085 "직사각형에서 탈출" PYTHON

[백준] 1085번 Python 파이썬 https://www.acmicpc.net/problem/1085 1085번: 직사각형에서 탈출 한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램 www.acmicpc.net 직사각형의 경계값과 가장 가까운 거리를 구하기 위해 입력받은 좌표 x, y와 x축 좌표끼리 뺀 값과 y축 좌표끼리 뺀 값 중 최소를 출력해준다. x, y, w, h = map(int, input().split()) print(min(x, y, w-x, h-y)) 혼자 공부하며 올리는 블로그입니다. 틀린 내용은 댓글 남겨주시면 감사하겠습니다.

BAEKJOON_2798 "블랙잭" PYTHON

[백준] 2798번 Python 파이썬 https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 이 문제는 brute force 알고리즘을 사용하여 푸는 문제이다. # 틀린 코드 다음 코드로 실행하였더니 아래 사진과 같이 리스트의 수들이 중복되어 더해졌다. n, m = map(int, input().split()) num = list(map(int, input().split())) rt = 0 for i in num[0:..

BAEKJOON_18870 "좌표 압축" PYTHON

[백준] 18870번 Python 파이썬 https://www.acmicpc.net/problem/18870 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌 www.acmicpc.net # 시간 초과 시간 초과와 런타임 오류가 정말 많이 난 문제였다. 시간 초과가 난 코드는 입력받은 숫자들의 인덱스를 찾아 출력하도록 하였다. 인덱스를 찾아서 출력을 하기 때문에 입력이 많을 경우 시간이 오래걸린다. # 시간 초과 코드 n = int(input()) num = list(map(int, inpu..

728x90