ps:problems:boj:16465
Bookend
ps | |
---|---|
링크 | acmicpc.net/… |
출처 | BOJ |
문제 번호 | 16465 |
문제명 | Bookend |
레벨 | 골드 5 |
분류 |
애드혹 |
시간복잡도 | O(n) |
인풋사이즈 | n<=100 |
사용한 언어 | Python 3.11 |
제출기록 | 31256KB / 40ms |
최고기록 | 40ms |
해결날짜 | 2023/08/21 |
풀이
- 문제를 읽으면서 혼란에 빠졌다. 책을 모두 한쪽 벽에 붙이면 북엔드는 최대 1개면 충분할거 같은데 뭐를 잘못 이해한거지? 최대 1개로 충분한게 맞다면 골드일리가 없는데…
- 너무 이상해서 문제를 풀 생각을 하기 전에 질문게시판을 뒤져보았고, 최대 1개로 충분한게 맞긴 하지만, 놓는게 가능한지 불가능한지를 체크하는 과정에서 '북엔드를 반대로 놓는 것도 가능하다'는 것을 고려해야 한다는 것을 알게되었다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 이게 대체 뭐야
- ps의 범위는 굉장히 넓고, 취급하는 문제들은 매우 다양하다. 당장 백준에도 온갖 종류의 문제들이 있다. 태그 기준으로 나누기보다 그냥 푸는 사람 입장에서 문제를 보고 드는 느낌으로만 구분하면, 알고리즘 지식으로 솔루션을 찾는 알고리즘문제, 간단한 솔루션을 열심히 코드로 구현하는 코딩문제, 아이디어를 떠올려서 해답을 찾는 퍼즐문제, 수학 지식으로 공식을 유도하는 수학문제, 지문을 열심히 이해해서 문제의 요구사항을 파악하는 독해문제 등등이다. 하지만 이 문제에 대해서 드는 느낌은 그냥 넌센스 문제이다;; 아무리 ps에서 다루는 범위가 넓다 해도, 이런 문제를 기대하고 ps를 하는 사람은 없지 않을까;; (구데기컵의 문제들은 재밌기라도 하지 ㅜㅜ)
- 뭐 암튼, 저 케이스를 고려할수만 있다면 구현은 간단하다. 모든 책의 두께의 합을 구한다음에, 책장의 너비, 북엔드의 길이와 비교한 결과에 따라 적절히 -1,0,1 중 하나의 답을 고르면 된다.
코드
"""Solution code for "BOJ 16465. Bookend".
- Problem link: https://www.acmicpc.net/problem/16465
- Solution link: http://www.teferi.net/ps/problems/boj/16465
Tags: [ad hoc]
"""
def main():
# pylint: disable=unused-variable
N, M, L = [int(x) for x in input().split()]
x = [int(x) for x in input().split()]
sum_x = sum(x)
if sum_x == M:
print('0')
elif sum_x > M:
print('-1')
elif sum_x >= L or sum_x + L <= M:
print('1')
else:
print('-1')
if __name__ == '__main__':
main()
ps/problems/boj/16465.txt · 마지막으로 수정됨: 2023/08/21 08:35 저자 teferi
토론