BOJ

·문제풀이/BOJ
[문제] https://www.acmicpc.net/problem/2711 2711번: 오타맨 고창영 첫째 줄에 테스트 케이스의 개수 T(1
·문제풀이/BOJ
[문제] https://www.acmicpc.net/problem/2896 2896번: 무알콜 칵테일 첫째 줄에 구매한 오렌지, 사과, 파인애플 주스의 양 A, B, C가 주어진다. (1 ≤ A, B, C ≤ 500) 둘째 줄에 칵테일을 만드는데 필요한 각 주스의 비율 I, J, K가 주어진다. (1 ≤ I, J, K ≤ 50) www.acmicpc.net [풀이] 식만 구하면 간단하게 풀 수 있는 문제 [코드] if __name__ == '__main__': a, b, c = map(int, input().split()) i, j, k = map(int, input().split()) m = min(a/i, b/j, c/k) print(a - i * m, b - j * m, c - k * m)
·문제풀이/BOJ
[문제] https://www.acmicpc.net/problem/1453 1453번: 피시방 알바 첫째 줄에 손님의 수 N이 주어진다. N은 100보다 작거나 같다. 둘째 줄에 손님이 들어오는 순서대로 각 손님이 앉고 싶어하는 자리가 입력으로 주어진다. www.acmicpc.net [풀이] 두 가지 풀이가 있다. 1) 리스트 선언 후 검사 피시방 자리 100개를 다 0으로 초기화한 후 입력받은 자리를 인덱스로 이용해 해당 인덱스의 값이 0이면 1을 더하고 0이 아니면 이미 다른 손님이 앉아있기 때문에 refused_cnt를 1 증가시킨다. 2) set 자료형 이용 만약 세 명의 손님의 희망 좌석이 1, 2, 2일 경우 이를 set()으로 감싸면 중복되는 값은 없어지기 때문에 1, 2가 된다. 이를 처음..
·문제풀이/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/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' 태그의 글 목록 (14 Page)