[백준_python] 다이얼, 손익분기점 || 5622, 1712

2021. 1. 16. 20:27·🎯PS

1. 다이얼

www.acmicpc.net/problem/5622

5622번: 다이얼

첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다.

www.acmicpc.net

#다이얼

S = input()

time = 0
dial = ['ABC', 'DEF', 'GHI', 'JKL', 'MNO', 'PQRS', 'TUV', 'WXYZ']

for i in S:
    for j in dial:
        if i in j:
            time += dial.index(j) + 3
print(time)

하 일단 for문안으로 if i == "A" 로 or로 하나하나 해주려니 너무너무 길어졌다. 
그래서 select같은 게 없나 고민해보다가, 다른 분이 위에 코드처럼 dial 리스트를 구현하고
in을 이용해서 비교하는 것을 보게 되었다.! 

 

참고한 사이트!) 꾸벅 

j-remind.tistory.com/76

(파이썬) 백준 알고리즘 5622번 다이얼

문제 풀이 (Python) 1 2 3 4 5 6 7 8 dial = ['ABC', 'DEF', 'GHI', 'JKL', 'MNO', 'PQRS', 'TUV', 'WXYZ'] a = input() ret = 0 for j in range(len(a)):     for i in dial:      ..

j-remind.tistory.com


2. 손익분기점

www.acmicpc.net/problem/1712

1712번: 손익분기점

월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와

www.acmicpc.net

#손익분기점 #시간 초과

a, b, c = map(int, input().split(' '))
point = 1

while True:
    if b >= c:
        point = -1
        break
    cost = a + point * b
    money = c * point
    if cost < money:
        break
    point += 1

print(point)         

먼저, b가 c보다 크거나 같을 때, 손익분기점이 발생하지 않는다라는 사실을 인지하지 못하고 어떻게 해줘야 하나.. 
고민했었다.. 저렇게 if문으로 구현을 해주고 제출을 해보니 "시간 초과"가 되었다.
아무래도 필요하지 않은 while문을 사용해주어서 그런 것 같았다. (ㅠㅠ결과는 잘 나오지만 어쩔 수 없즤)
 
그. 래. 서! 다시 풀었다
 
정리! (i는 생산 대수)
A + B * i < C * i 의 최초 지점이 손익 분기점.
따라서, B >= C일 경우엔 손익 분기점이 발생하지 않음(-1)

A < (C-B) * i  → A / (C-B) < i 따라서, 손익분기점이 되는 생산 대수(i)는 = A/(C-B) + 1 이 된다. ('='으로 같은 경우에는 0원으로 수익이 X → +1을 해줌)

 

#손익분기점_2

a, b, c = map(int, input().split(' '))

if b >= c:
    print(-1)

else:
    print(int(a/(c-b)+1))
반응형
'🎯PS' 카테고리의 다른 글
  • [백준_python] 달팽이는 올라가고 싶다, 부녀회장이 될테야 || 2869, 2775
  • [백준_python] 벌집, 분수찾기 || 2292, 1193
  • [백준_python] reverse( ), reversed( ), join() || 1152, 2908
  • [백준_python] find(), dictionary(items(), keys(), values()) || 10809, 1157
dmaolon
dmaolon
프로그래밍을 공부한 내용을 기록하는 공간입니다.
  • dmaolon
    기록 남기기
    dmaolon
  • 전체
    오늘
    어제
    • ALL (260)
      • ➰ Series (5)
      • 🎯PS (168)
        • Algorithm (15)
      • ☕ Java (11)
      • 🍀 Spring Boot (29)
      • 💬 Database (9)
      • 🐣 Computer Science (14)
      • 👍 Daily (4)
      • 🎁ReactJS (4)
  • 인기 글

  • 최근 댓글

  • 최근 글

  • 태그

    자바
    dfs
    백준
    Spring
    프로그래밍
    코딩
    프로그래머스
    BFS
    파이썬
    알고리즘
  • hELLO· Designed By정상우.v4.10.1
dmaolon
[백준_python] 다이얼, 손익분기점 || 5622, 1712
상단으로

티스토리툴바