분류 전체보기

·문제풀이/BOJ
[문제] https://www.acmicpc.net/problem/5532 5532번: 방학 숙제 한 줄에 하나씩 총 다섯 줄에 걸쳐 L, A, B, C, D가 주어진다. (2 ≤ L ≤ 40, 1 ≤ A, B ≤ 1000, 1 ≤ C, D ≤ 100) 항상 방학 숙제를 방학 기간내에 다 할 수 있는 경우만 입력으로 주어진다. www.acmicpc.net [풀이] 이번 문제는 간단한데 가장 중요한 부분은 날짜를 소수점으로 바꿀 수 없으니 ceil 함수를 사용해야 한다. 1. ceil 함수 주어진 함수 이상인 값 중 가장 작은 숫자를 반환한다. 예를 들어 계산 결과가 6.1일이 나올 경우에는 날짜로 치면 7일이 걸린 것이기 때문에 꼭 ceil 함수를 써주어야 한다. [코드] import math if __..
·문제풀이/BOJ
[문제] https://www.acmicpc.net/problem/5543 5543번: 상근날드 입력은 총 다섯 줄이다. 첫째 줄에는 상덕버거, 둘째 줄에는 중덕버거, 셋째 줄에는 하덕버거의 가격이 주어진다. 넷째 줄에는 콜라의 가격, 다섯째 줄에는 사이다의 가격이 주어진다. 모든 가 www.acmicpc.net [풀이] 차례대로 입력의 3개는 버거 가격, 2개는 음료 가격이기 때문에 burger와 drink 리스트에 담았다. burger 리스트 중 가장 작은 값을 min(burger)로 구하고, drink 리스트 중 가장 작은 값을 min(drink)로 구해 더한 후 50을 빼주면 세트 가격 중 가장 작을 때의 값이 나온다. [코드] if __name__ == '__main__': burger = []..
·문제풀이/BOJ
[문제] https://www.acmicpc.net/problem/2954 2954번: 창영이의 일기장 창영이는 매일 밤 하루동안 일어난 일을 일기장에 남긴다. 일기장을 쓰면서 영어 공부도 같이 하기 위해서 영어로 일기를 쓴다. 또, 남들이 자신의 일기장을 보는 것을 막기 위해서 모음('a','e','i www.acmicpc.net [풀이] 모음('a', 'e', 'i', 'o', 'u')의 경우에는 2개의 문자가 더 있기 때문에 i 값에 2를 더해주어 그 사이의 문자들은 출력되지 않는다. [코드] if __name__ == '__main__': sentence = input() vowels = "aeiou" i = 0 while i < len(sentence): print(sentence[i], end..
·문제풀이/BOJ
[문제] https://www.acmicpc.net/problem/1834 1834번: 나머지와 몫이 같은 수 N으로 나누었을 때 나머지와 몫이 같은 모든 자연수의 합을 구하는 프로그램을 작성하시오. 예를 들어 N=3일 때, 나머지와 몫이 모두 같은 자연수는 4와 8 두 개가 있으므로, 그 합은 12이다. www.acmicpc.net [풀이] 문제의 예제처럼 3이 주어질 경우 3 미만인 수인 차례대로 1, 2를 곱하고 더한 수를 total에 넣는다. [코드] if __name__ == '__main__': n = int(input()) total = 0 for i in range(1, n): total += n * i + i print(total)
·문제풀이/BOJ
[문제] https://www.acmicpc.net/problem/2456 2456번: 나는 학급회장이다 첫째 줄에는 반의 학생들의 수 N (3 ≤ N ≤ 1,000)이 주어진다. 다음 N개의 각 줄에는 각 학생이 제출한 회장후보 3명에 대한 선호 점수가 주어지는 데, 첫 번째 점수는 후보 1번에 대한 점수이고 두 www.acmicpc.net [풀이] 처음에는 다중조건문으로 분류해서 풀어가던 중 다른 사람은 제곱한 수를 비교했다는 걸 보고 충격받았다.. 그러고 보니 개수를 비교할 필요 없이 제곱하면 자동적으로 비교가 된다는 것... 제곱한 수를 더해 비교한다는 방법만 알면 쉽게 풀 수 있는 문제가 된다. [코드] if __name__ == '__main__': candidate = [0] * 3 squa..
·문제풀이/BOJ
[문제] https://www.acmicpc.net/problem/2083 2083번: 럭비 클럽 입력 받은 각 회원에 대해 이름과 분류를 출력한다. 성인부 회원이면 'Senior', 청소년부 회원이면 'Junior'를 출력한다. www.acmicpc.net [풀이] 조건문만 제대로 사용하면 되는 문제 [코드] if __name__ == '__main__': while True: name, age, weight = input().split() age, weight = int(age), int(weight) if name == '#' and age == 0 and weight == 0: quit() if age > 17 or weight >= 80: print("%s Senior" % name) else:..
·문제풀이/BOJ
[문제] https://www.acmicpc.net/problem/2408 2408번: 큰 수 계산 수의 개수 N(1 ≤ N ≤ 10) 이 주어지고 다음 2*N - 1 줄에는 수와 연산자(+, -, *, /) 가 번갈아서 들어온다. www.acmicpc.net [풀이] eval 함수만 알고 있다면 쉽게 풀 수 있는 문제다. 주의할 점은 '/'를 '//'로 바꿔주는 것 [코드] if __name__ == '__main__': equation = '' n = int(input()) for _ in range(n + n - 1): equation += input() equation = equation.replace('/', '//') print(eval(equation))
·문제풀이/BOJ
[문제] https://www.acmicpc.net/problem/2386 2386번: 도비의 영어 공부 출력의 각 줄은 입력으로 주어진 소문자와 그 소문자 알파벳이 나타난 횟수로 이루어진다. 이때 문장에서 해당 알파벳이 소문자로 나타나던 대문자로 나타나던 모두 세야 한다. www.acmicpc.net [풀이] while문으로 입력을 받고 '#'이 입력되는 경우 while문을 탈출한다. 슬라이싱을 이용해 입력값을 알파벳과 문장으로 나누고 lower() 함수를 이용해 문장 전체를 소문자로 변환한다. 그 후 count함수를 사용해 해당 알파벳이 문장 안에 몇 번 나타나는지 구한다. [코드] if __name__ == "__main__": while True: question = input() if quest..
·문제풀이/BOJ
[문제] https://www.acmicpc.net/problem/1731 1731번: 추론 등차가 정수인 등차수열 (어떤 수에 차례대로 일정한 수를 더해서 이루어지는 수열) 은 2개의 숫자로 나타낼 수 있다. P는 수열의 첫 번째 수이고, Q는 그 다음수가 되기 위해 바로 전의 수에 더해 www.acmicpc.net [풀이] 수열의 원소들을 num 리스트에 담는다. 원소들은 항상 3 이상이기 때문에 num[2]까지 이전 인덱스 원소와 비교해 등차수열인지 등비수열인지 찾는다. [코드] if __name__ == "__main__": num = [] for _ in range(int(input())): num.append(int(input())) if num[1] - num[0] == num[2] - nu..
서채리
'분류 전체보기' 카테고리의 글 목록 (23 Page)