728x90
반응형

피보나치 수 4랑 답이 같다.

n = int(input())
a, b = 0, 1
for i in range(n):
    a, b = b, a+b
print(a)

728x90
반응형
728x90
반응형

A, B = map(int, input().split())
print(A+B)
print(A-B)
print(A*B)
print(A//B)
print(A%B)

728x90
반응형
728x90
반응형

단순한 피보나치 수 문제이다. 1, 1, 2, 3, 5, 8, 13, 21...

n = int(input())
a, b = 0, 1
for i in range(n):
    a, b = b, a+b
print(a)

728x90
반응형
728x90
반응형

li = input().split()
print(int(li[0]+li[1]) + int(li[2]+li[3]))

728x90
반응형
728x90
반응형

리스트를 정렬하고 처음 값(최소)과 마지막 값(최대)을 출력해주면 된다.

_ = input()
li = sorted(list(map(int, input().split())))
print(li[0], li[-1])

728x90
반응형
728x90
반응형

세 수를 정렬하고 가운데 값을 출력해주면 된다.

print(sorted(map(int, input().split()))[1])

728x90
반응형
728x90
반응형

lambda를 사용해 나이순으로 리스트를 정렬해주면 된다.

li.sort(key=lambda x : x[0])는 리스트를 첫 번째 값 기준으로 정렬하겠다는 뜻이다.

lambda는 정렬 관련해서 정말 유용하게 사용할 수 있다.

예를 들면 리스트를 길이순으로 정렬하는 기능을 구현하기가 어려운 건 아니지만 조금 귀찮아질 수도 있는데, lambda를 사용하면 li.sort(key=lambda x : len(x)) 한 줄로 구현할 수 있다.

li = []
for _ in range(int(input())):
    age, name = input().split()
    li.append([int(age), name])
li.sort(key=lambda x : x[0])
for i in li:
    print(*i)
728x90
반응형
728x90
반응형

앞에 알파벳 개수와 비슷한 문제다.

우선 크기가 26이고 요소들이 전부 -1인 리스트를 생성한다.

# 요소 값은 어떤 수를 사용해도 상관없다.

그 후 find를 사용해 알파벳의 위치를 찾으면 된다.

# find는 찾는 단어가 str안에 들어있다면 맨 앞의 인댁스를 리턴해주기 때문에 다른 추가 코드가 필요 없다.

 
li = [-1]*26
word = input()
for l in word:
    li[ord(l) - ord('a')] = word.find(l)
for n in li:
    print(n, end = ' ')

728x90
반응형
728x90
반응형

우선 각 알파벳의 개수를 저장할 크기가 26이고 요소들이 전부 0이 리스트를 생성한다.

EX) li[0] = a의 개수, li[1] = b의 개수

그 후 li[ord(c)-ord('a')] += 1을 통해 알파벳을 리스트의 인덱스로 바꿔주고 그 인덱스의 리스트 값에 1을 더해준다.

EX) 입력: ac

li = [0, 0, 0, ...0]

-> li[ord('a') - ord('a')] += 1 -> li[0] += 1

-> li[ord('c') - ord('a')] += 1 -> li[2] += 1

-> li = [1, 0, 1, 0, ...]

li = [0]*26
for c in input():
      li[ord(c)-ord('a')] += 1
print(*li)
728x90
반응형
728x90
반응형

count를 사용해서 10부제를 위반하는 차량의 개수를 쉽게 셀 수 있다.

c = int(input())
print(list(map(int, input().split())).count(c))

728x90
반응형
728x90
반응형

기본적인 스택 문제이다.

입력이 0이 아니면 스택에 추가하고 입력이 0이면 제일 마지막에 추가한 수를 스택에서 제거한다.

마지막에 스택에 들어있는 수들의 합을 출력해주면 된다.

import sys 

li = []
for _ in range(int(sys.stdin.readline())):
    n = int(sys.stdin.readline())
    if n == 0:
        li.pop()
    else:
        li.append(n)
print(sum(li))
728x90
반응형
728x90
반응형

강한친구 대한육군을 2번 출력하면 되는 약 빤 문제다. 백준에 이런 문제가 종종 보이는 것 같다ㅋㅋ 

for _ in range(2):
    print("강한친구 대한육군")

728x90
반응형
728x90
반응형

꼭짓점의 수 - 모서리의 수 + 면의 수 = 2 -> 면의 수 = 모서리의 수 - 꼭짓점의 수 + 2 = E - V + 2

for _ in range(int(input())):
    V, E = map(int, input().split())
    print(E - V + 2)

728x90
반응형
728x90
반응형

영역을 직접 나눠서 리스트에 추가했다. 쉬운데 조금 귀찮은 문제다.

li = ['1QAZ', '2WSX', '3EDC', '4RFV5TGB', '6YHN7UJM', '8IK,', '9OL.', "0P;/-['=]"]
ans = [0]*8
for c in input():
    for i in range(8):
        if c in li[i]:
            ans[i] += 1
for n in ans:
    print(n)

728x90
반응형
728x90
반응형

단순 사칙연산 문제다. %는 나머지를 구해준다.

A, B, C = map(int, input().split())

print((A + B)%C)
print((A%C + B%C)%C)
print((A * B)%C)
print((A%C * B%C)%C)

728x90
반응형

+ Recent posts