728x90
반응형
x, y = map(int,input().split()) # 월 일 

month = [0,31,28,31,30,31,30,31,31,30,31,30,31]

day = [ 'SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT' ]

today = 0 

for i in range(1,x):
  today += month[i]

today += y 

print ( day[today%7] )
728x90
반응형

'백준' 카테고리의 다른 글

# 1157: 단어 공부  (0) 2020.10.07
# 2805: 나무 자르기  (0) 2020.10.05
728x90
반응형
n = input()
n = n.upper() 

cnt = [0] * 28 

for i in n :
  cnt [ ord(i)-65 ] += 1 

tmp = sorted(cnt)

if tmp[-1] != tmp[-2]:
  print( chr( cnt.index(tmp[-1]) +65 ))
else:
  print("?")

 

www.acmicpc.net/problem/1157

 

1157번: 단어 공부

알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.

www.acmicpc.net

 

728x90
반응형

'백준' 카테고리의 다른 글

# 1924: 2007년  (0) 2020.10.07
# 2805: 나무 자르기  (0) 2020.10.05
728x90
반응형
def solution(n):
    
    dp = [0]*100001
    
    dp[1] = 1 
    dp[2] = 1 
    
    for i in range(3,n+1):
        dp[i] = dp[i-1] + dp[i-2]
        
    answer = dp[n] % 1234567
    return answer
728x90
반응형

'프로그래머스 > Level 2' 카테고리의 다른 글

스택/큐 - 주식가격  (0) 2020.10.13
최댓값과 최솟값  (0) 2020.10.13
큰 수 만들기 *  (0) 2020.10.09
2 x n 타일링  (0) 2020.10.09
124 나라의 숫자  (0) 2020.10.09
728x90
반응형
n = list(map(int,input()))
left, right = 0, 0

for i in range( len(n)//2 ):
  left += n[i]
  right += n[ len(n)-i-1 ]

if left == right :
  print("LUCKY")
else:
  print("READY")
728x90
반응형

'백준 > 구현' 카테고리의 다른 글

# 1715 카드 정렬하기  (0) 2021.04.10
# 1476번 : 날짜  (0) 2020.10.15
# 2309번 : 일곱 난쟁이  (0) 2020.10.15
728x90
반응형

# 시간초과 

n, m = map(int,input().split()) # 나무의 수, 필요한 길이 

trees = list(map(int,input().split()))

h = max(trees)

for i in range(h,0,-1):
  total = 0 
  for j in trees:
    if i < j : 
      total += j-i 
  
  if total >= m : 
    print(i)
    break

문제에서 나무의 최대값 이 매우 크게 잡혀 있는 것을 볼 수 있다. 

이렇게 그냥 풀면 당연히 시간초과가 나온다. 

 

# 정답 

n, m = map(int,input().split()) # 나무의 수, 필요한 길이 

trees = list(map(int, input().split()))
start, end = 1, max(trees)

while start <= end:
    mid = (start+end) // 2
    
    result = 0 
    for i in trees:
        if i >= mid:
            result += i - mid
    
    if result >= m:
        start = mid + 1
    else:
        end = mid - 1
print(end)

이분탐색을 적용하여 시간을 줄여야 한다. 

python3 로는 계속 시간초과 오류가 나서 pypy3 로 제출했다 : ( 

728x90
반응형

'백준' 카테고리의 다른 글

# 1924: 2007년  (0) 2020.10.07
# 1157: 단어 공부  (0) 2020.10.07

+ Recent posts