Programming 기초/Coding Test
-
[BOJ#11718번] 그대로 출력하기 - open(0).read(), sys.stdin.read(), for line in sys.stdin:Programming 기초/Coding Test 2023. 7. 10. 17:55
* 그대로 출력하기(11718번) 문제 입력 받은 대로 출력하는 프로그램을 작성하시오. 입력 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시작하지 않고, 공백으로 끝나지 않는다. 출력 입력받은 그대로 출력한다. 1. while문 + sys.stdin.readline() # 내 답변 import sys i = 1 while i
-
[BOJ#2908번] map(int, input()[::-1].split()), 입력값의 역수 저장하기, max()함수 문법Programming 기초/Coding Test 2023. 7. 10. 11:31
* 상수 (2908번 문제) 문제 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 개를 칠판에 써주었다. 그 다음에 크기가 큰 수를 말해보라고 했다. 상수는 수를 다른 사람과 다르게 거꾸로 읽는다. 예를 들어, 734와 893을 칠판에 적었다면, 상수는 이 수를 437과 398로 읽는다. 따라서, 상수는 두 수중 큰 수인 437을 큰 수라고 말할 것이다. 두 수가 주어졌을 때, 상수의 대답을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 상근이가 칠판에 적은 두 수 A와 B가 주어진다. 두 수는 같지 않은 세 자리 수이며, 0이 포함되어 있지 않다. 출력 첫째 줄에..
-
[BOJ#1152번] 문자열에서 단어 개수 세기. count()함수, len()함수, split(' ')와 split()의 차이Programming 기초/Coding Test 2023. 7. 9. 10:50
* 단어의 개수 (1152번) 문제 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다. 입력 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열은 공백으로 시작하거나 끝날 수 있다. 출력 첫째 줄에 단어의 개수를 출력한다. * len()함수를 이용한 풀이 print(len(input().strip().split())) * count()함수를 이용한 풀이 # 정답 소스코드 s = input().strip() print..
-
[BOJ#2675번] list내의 str타입의 요소 붙여서 출력하기.Programming 기초/Coding Test 2023. 7. 7. 21:58
* 문자열 반복(2675번 문제) 문제 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다. QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\$%*+-./: 이다. 입력 첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 반복 횟수 R(1 ≤ R ≤ 8), 문자열 S가 공백으로 구분되어 주어진다. S의 길이는 적어도 1이며, 20글자를 넘지 않는다. 출력 각 테스트 케이스에 대해 P를..
-
[BOJ#11720번] 리스트 컴프리헨션(comprehension), 리스트 각 원소의 타입 변환 방법Programming 기초/Coding Test 2023. 7. 6. 15:37
* BOJ 숫자의 합 문제(11720번) N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. 출력 입력으로 주어진 숫자 N개의 합을 출력한다. * 리스트 컴프리헨션(comprehension)을 이용한 풀이 컴프리헨션은 리스트를 초기화하는 방법 중 하나이다. n = int(input()) print(sum([int(f) for f in input()])) * 내장함수 map을 이용한 풀이 n = input() arr = list(input()) arr = list(map(int, arr)) print(sum(arr))
-
[pyton#tip] 아스키 코드 <-> 문자 변환 함수 ord(), chr()Programming 기초/Coding Test 2023. 7. 6. 15:05
* ord() str 타입의 문자 하나만을 입력 받아서 아스키 코드로 변환해준다. 두 개 이상의 문자를 입력 받거나 str 타입이 아닌 다른 타입으로 입력하면 오류가 발생한다. 아스키 코드는 int 타입이다. * chr() int 타입의 아스키 코드를 입력받아서 문자로 변환해준다. 아스키 코드에 없는 숫자를 입력 받거나 int 타입이 아닌 다른 타입으로 입력하면 오류가 발생한다. chr()의 출력 값은 str 타입이다.
-
[python#tip] print()의 end 옵션과 sep 옵션Programming 기초/Coding Test 2023. 7. 6. 14:44
* end 옵션 print(a,b, end ="")는 a, b를 출력하고나서 마지막을 다룬다. end 옵션을 추가하지 않았을 때의 디폴트 값은 개행문자(줄바꿈문자, \n)이다. word = "abcdef" print(word[0], word[1]) print(word[0], word[1], end="") print(word[1], word[2], end=" ") print(word[2], word[3], end=" ") ----------------------------------- a b a bb c c d * sep 옵션 print(a,b, sep = '')는 a,b 사이를 어떻게 처리할지를 묻는다. sep 옵션을 추가하지 않았을 때의 디폴트값은 띄어쓰기이다. word = "abcdef" print(..
-
[BOJ#3052번] 나머지, set함수 활용 문제Programming 기초/Coding Test 2023. 7. 2. 22:58
* 문제 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오. 입력 첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다. 출력 첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다. s = set() for _ in range(10): s.add(int(input())%42) print(len(s)) -> 중복 제거할 때는 set함수를 활용하자. -> 리스트에서 요소 추가할 때는..