기록 한 줄기
article thumbnail
[BOJ/Ptython] 11720 숫자의 합
IT Base/BOJ 2023. 8. 22. 09:53

📌 문제 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net 📌 내 코드 # 11720 숫자의 합 N = int(input()) li = list(map(int, input())) print(sum(li)) 💡 풀이 숫자 갯수를 N에 입력 받는다. 주어지는 N개의 숫자들을 li라는 리스트로 입력 받는다. sum()을 통해 li에 들어온 숫자들의 합을 구해준 뒤 print()를 통해 출력한다. 📌 정리 고민한 시간이 무색할 정도로 쉬운 문제였다...해당 문제는 며칠 뒤에 다시 풀어보는 게 좋을 것 같다. 브론즈 4, 5 문제는 이제 금방 풀어낼 수 있을 거라 생각했는데 내 오만이었다. 이런 저런 일..

article thumbnail
[BOJ/Python] 11718 그대로 출력하기
IT Base/BOJ 2023. 8. 18. 09:53

📌 문제 11718번: 그대로 출력하기 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시 www.acmicpc.net 📌 처음 코드 # 11718 그대로 출력하기 import sys input = sys.stdin.readline a = list(map(str, input().split())) print(*a) 💡 풀이 여러 문자를 리스트 형태로 입력 받는다. 리스트 내 요소 전체를 출력하는 *를 활용해 리스트 전체를 출력해준다. 막연하게 생각하고 간단하게 코드를 짰는데, 코드상의 오류는 없었으나, 출력이 예제 문자열 중 하나 밖에 출력되지 않으면서 틀..

article thumbnail
[BOJ/Python] 11654 아스키 코드
IT Base/BOJ 2023. 8. 16. 09:57

📌 문제 11654번: 아스키 코드 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. www.acmicpc.net 📌 처음 코드 # 11654 아스키 코드 import sys input = sys.stdin.readline n = input() print(ord(n)) 💡 풀이 입력 받을 값을 n에 담는다. 입력 받은 n을 아스키 코드로 변환해주는 함수 ord()를 통해 아스키 코드로 바꿔준 후 출력한다. 이론상 분명히 맞게 풀었는데 빌드 후 예제값을 입력하니 에러가 발생했다. 왜 발생했는지를 몰라서 이전에도 고민하는 데만 하루 가량 소모했던 문제여서 오늘은 꼭 해결하고 싶었다. 그러나 내 코드만 봐서는 도저히 어디가 문제인지 찾아..

article thumbnail
[BOJ/Python] 9086 문자열
IT Base/BOJ 2023. 8. 11. 10:23

📌 문제 9086번: 문자열 입력의 첫 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 10)가 주어진다. 각 테스트 케이스는 한 줄에 하나의 문자열이 주어진다. 문자열은 알파벳 A~Z 대문자로 이루어지며 알파벳 사이에 공백은 없으 www.acmicpc.net 📌 처음 코드 # 9086 문자열 import sys input = sys.stdin.readline t = int(input()) for _ in range(t): s = input() print(s[0], s[-1], sep='') 💡 풀이 테스트 케이스 수를 입력 받는다. 입력 받은 테스트 케이스 수만큼 for문을 통해 각 문자열을 s에 입력 받는다. 입력 받은 각 문자열 s의 인덱스 값을 활용해 첫 글자와 마지막 글자를 출력한다. 첫 글자 인..

article thumbnail
[BOJ/Python] 2743 단어 길이 재기
IT Base/BOJ 2023. 6. 15. 01:24

📌 문제 2743번: 단어 길이 재기 알파벳으로만 이루어진 단어를 입력받아, 그 길이를 출력하는 프로그램을 작성하시오. www.acmicpc.net 📌 내 코드 # 2743 단어 길이 재기 import sys input = sys.stdin.readline word = input() print(len(word)-1) 💡 풀이 word에 문자열을 입력 받는다. 문자열 길이를 구하는 함수 len()을 사용해서 입력받은 문자열의 길이를 출력한다. 이 때, 그냥 len(word)로 출력 시 (주어진 문자열의 실제 길이)+1의 값이 출력되기 때문에 구해진 길이에서 -1을 해줘야 한다. 📌 정리 문자열 길이를 구하는 len() 함수를 알고 있으면 1분도 안 걸리고 풀 수 있는 문제다. 이런 문제는 너무 쉬워서 좀 ..

article thumbnail
[BOJ/Python] 27866 문자와 문자열
IT Base/BOJ 2023. 6. 15. 01:02

📌 문제 27866번: 문자와 문자열 첫째 줄에 영어 소문자와 대문자로만 이루어진 단어 $S$가 주어진다. 단어의 길이는 최대 $1\,000$이다. 둘째 줄에 정수 $i$가 주어진다. ($1 \le i \le \left|S\right|$) www.acmicpc.net 📌 내 코드 # 27866 문자와 문자열 import sys input = sys.stdin.readline s = [0]+list(map(str, input())) i = int(input()) print(s[i]) 💡 풀이 문자열을 s에 입력 받는다. (이 때, 리스트는 인덱스가 0부터 시작하므로, 인덱스 0의 자리에 0을 채워 넣어준다.) 정수 i를 입력 받는다. 문자열 s에서 인덱스 i에 위치하는 문자를 출력한다. 📌 정리 처음에 리..

article thumbnail
[BOJ/Python] 2562 최댓값
IT Base/BOJ 2023. 6. 9. 14:32

📌 문제 2562번: 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어 www.acmicpc.net 📌 내 코드 # 2562 최댓값 import sys input= sys.stdin.readline num = [0]+[int(input()) for _ in range(1, 10)] print(max(num), num.index(max(num)), end='\n') 💡 풀이 여러 숫자들을 입력받기 때문에 리스트 형태로 받아줬다. 여기서 주의할 것은 리스트의 경우 인덱스가 0부터 시작하기 때문에 1부터 시작할 수 있도록 해..

article thumbnail
[BOJ/Python] 10818 최소, 최대
IT Base/BOJ 2023. 6. 8. 01:31

📌 문제 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 📌 내 코드 # 10818 최소, 최대 import sys input = sys.stdin.readline n = int(input()) li = list(map(int, input().split())) print(min(li), max(li), end=' ') 💡 풀이 입력 받을 정수 갯수 n을 먼저 입력 받는다. n개의 정수들을 리스트 형태로 입력 받는다. 리스트 내의 최솟값, 최댓값을 출력할 때, 줄바꿈이 일어나지..

article thumbnail
[BOJ/Python] 5597 과제 안 내신 분..?
IT Base/BOJ 2023. 6. 7. 23:13

📌 문제 5597번: 과제 안 내신 분..? X대학 M교수님은 프로그래밍 수업을 맡고 있다. 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있다. 교수님이 내준 특별과제를 28명이 제출했는데, www.acmicpc.net 📌 내 코드 # 5597 과제 안 내신 분..? import sys input = sys.stdin.readline nums = [int(input()) for _ in range(28)] for i in range(1, 31): if i not in nums: print(i) 💡 풀이 28개의 출석번호를 각각 한 줄씩, 총 28줄로 입력 받도록 되어 있다. 리스트 안에서 입력 값을 정수형으로 선언하고, 하나의 정수를 28번 입력 받도록 한..

article thumbnail
[BOJ/Python] 10871 X보다 작은 수
IT Base/BOJ 2023. 6. 7. 22:11

📌 문제 10871번: X보다 작은 수 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다. www.acmicpc.net 📌 내 코드 # 10871 X보다 작은 수 import sys input = sys.stdin.readline n, x = map(int, input().split()) a = list(map(int, input().split())) ans = [] for i in range(n): if x > a[i]: ans.append(a[i]) print(ans) 💡 풀이 숫자 갯수 n과 정수 x를 입력 받는다. n개의 숫자를 a라는 이름의 리스트..

article thumbnail
[BOJ/Python] 10807 개수 세기
IT Base/BOJ 2023. 6. 5. 14:34

📌 문제 10807번: 개수 세기 첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거 www.acmicpc.net 📌 내 코드 # 10807 개수 세기 import sys input = sys.stdin.readline n = int(input()) li = list(map(int, input().split())) v = int(input()) cnt = 0 for i in range(n): if v == li[i]: cnt += 1 print(cnt) 💡 풀이 입력 값에서 여러 숫자를 한 줄에 다 받는 걸 보고 리스트 자료형을 활용하고자 했다. 그래서 ..

article thumbnail
[BOJ/Python] 2439 별 찍기 - 2
IT Base/BOJ 2023. 6. 5. 12:13

📌 문제 2439번: 별 찍기 - 2 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. www.acmicpc.net 📌 내 코드 # 2439 별 찍기 - 2 import sys input = sys.stdin.readline n = int(input()) gap = str() star = str() for i in range(1, n+1): gap = ' ' * (n-i) star += '*' print(gap, star) 💡 풀이 n을 입력 받는다. 공백을 입력 받을 변수 gap, *를 입력 받을 변수 star을 문자형 (str)으로 선언한다. for문을 1~n까지 반복 공백은 입력값 n - 채워지는 별 갯..