문제 링크 4806번: 줄 세기 한 줄에 최대 100글자씩 주어진다. 빈 줄이 주어질 수도 있다. www.acmicpc.net 문제 풀이 입력값의 끝(EOF)이 나올 때 까지 줄을 세어 주면 된다. input()에 eof가 입력될 경우 에러가 발생하므로 try - except 문을 이용한다. 정답 코드 cnt = 0 try : while input() : cnt += 1 except : print(cnt)
문제 링크 4740번: 거울, 오! 거울 하나 또는 그 이상의 줄에 각각 ASCII 글자로 나타낼 수 있는 단어들(알파벳, 숫자, 공백, 구두점 등)로 구성된 문장을 입력한다. 각 문장은 최소 1글자에서 최대 80글자로 이루어져 있으며, ***을 www.acmicpc.net 문제 풀이 입력값을 거꾸로 출력한다. 정답 코드 while True : s = input() if s == "***" : break for i in range(len(s) - 1, -1, -1) : print(s[i], end = "") print()
문제 링크 4635번: Speed Limit The input consists of one or more data sets. Each set starts with a line containing an integer n, 1 ≤ n ≤ 10, followed by n pairs of values, one pair per line. The first value in a pair, s, is the speed in miles per hour and the second value, t, is t www.acmicpc.net 문제 풀이 단순한 사칙연산 문제이다. 다만, 입력값으로 주어지는 t가 누적값이므로 주의하자. 정답 코드 while True : n = int(input()) if n == -1 : break..
문제 링크 4562번: No Brainer For each data set, there will be exactly one line of output. This line will be "MMM BRAINS" if the number of brains the zombie eats is greater than or equal to the number of brains the zombie requires to stay alive. Otherwise, the line will be "NO BRAINS". www.acmicpc.net 문제 풀이 x와 y가 주어지는데, x가 y보다 같거나 크다면 "MMM BRAINS"를, 아니라면 "NO BRAINS"를 출력해준다. 정답 코드 for _ in range(int(in..
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 이 문제는 "0" 또는 "1"로 이루어진 문자열이 "1"이 될 때 까지 조건을 실행해주는 문제이다. 조건은 다음과 같다. 주어진 문자열내의 모든 "0"을 제거한 길이를 구한다. 그 길이를 이진법으로 표현한 문자열을 만든다. 위의 두 조건을 반복하여 문자열이 "1"이 되는 순간까지의 변환 횟수와 제거된 0의 갯수를 반환해야하는 문제이다. 따라서 변환 횟수와 제거되는 0의 갯수를 알 수 있도록 변수를 만들어준 뒤, 조건에 맞는 반복문을 실행시켰다. 정답 코드 def solution(s): i..
문제 링크 4435번: 중간계 전쟁 첫째 줄에 전투의 개수 T가 주어진다. 각 전투는 두 줄로 이루어져 있다. 첫째 줄에 간달프 군대에 참여한 종족의 수가 주어진다. 이 값은 공백으로 구분되어 있으며, 호빗, 인간, 엘프, 드워프, www.acmicpc.net 문제 풀이 문제의 조건에 맞게 각 팀의 점수 합을 구해준 뒤, 출력해준다. 정답 코드 for i in range(1, int(input()) + 1) : G = list(map(int, input().split())) S = list(map(int, input().split())) G_score = G[0] + G[1] * 2 + (G[2] + G[3]) * 3 + G[4] * 4 + G[5] * 10 S_score = S[0] + (S[1] + ..
문제 링크 4084번: Viva la Diferencia 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, a, b, c, d가 순서대로 주어진다. 입력의 마지막 줄에는 0이 4개 주어진다. (1 ≤ a,b,c,d ≤ 2,000,000,000) www.acmicpc.net 문제 풀이 문제의 조건에 맞게 코드를 작성해주었다. 받은 리스트에 바로 값을 적용하는 경우, d - a 부분에서 값이 바뀐 a가 계산에 적용되기 때문에, 미리 a, b, c, d의 값을 따로 저장해주었다. 정답 코드 while True : lst = list(map(int, input().split())) if sum(lst) == 0 : break cnt = 0 while True : a,..
문제 링크 3578번: Holes You may have seen a mechanic typewriter — such devices were widespread just 15 years ago, before computers replaced them. It is a very simple thing. You strike a key on the typewriter keyboard, the corresponding type bar rises, and the metallic letter mo www.acmicpc.net 문제 풀이 이 문제는 주어진 입력값만큼의 구멍 갯수를 가지는 수를 출력하는 문제이다. 구멍을 하나도 가지지 않는 수의 경우, [1, 2, 3, 5, 7]의 숫자가 출력될 것이고, 구멍이 1개인 ..