https://school.programmers.co.kr/learn/courses/30/lessons/181925
def solution(numLog):
result = ''
for i in range(1, len(numLog)):
if numLog[i] - numLog[i-1] == 1:
result += 'w'
elif numLog[i] - numLog[i-1] == -1:
result += 's'
elif numLog[i] - numLog[i-1] == 10:
result += 'd'
elif numLog[i] - numLog[i-1] == -10:
result += 'a'
return result
https://school.programmers.co.kr/learn/courses/30/lessons/181927
def solution(num_list):
if num_list[-1] > num_list[-2]:
num_list.append(num_list[-1] - num_list[-2])
else:
num_list.append(2 * num_list[-1])
return num_list
https://school.programmers.co.kr/learn/courses/30/lessons/181923
def solution(arr, queries):
list = []
for s, e, k in queries:
a = arr[s:e+1]
a.sort()
b = False
for i in a:
if i > k:
list.append(i)
b = True
break
if not b:
list.append(-1)
return list
https://school.programmers.co.kr/learn/courses/30/lessons/181924
def solution(arr, queries):
for i, j in queries:
a = arr[i]
arr[i] = arr[j]
arr[j] = a
return arr
https://school.programmers.co.kr/learn/courses/30/lessons/181922
def solution(arr, queries):
for s, e, k in queries:
for i in range(s, e+1):
if i % k == 0:
arr[i] += 1
return arr
https://school.programmers.co.kr/learn/courses/30/lessons/181919
def solution(n):
answer = [n]
while n != 1:
if n % 2 == 0:
n /= 2
answer.append(n)
else:
n = 3 * n + 1
answer.append(n)
return answer
https://school.programmers.co.kr/learn/courses/30/lessons/181921
def solution(l, r):
answer = []
for i in range(l, r+1):
if check(i):
answer.append(i)
if not answer:
return [-1]
return answer
def check(num):
while num > 0:
a = num % 10
if a != 0 and a != 5:
return False
num //= 10
return True
N = int(input())
new = N
count = 0
while True:
a = (new // 10)
b = (new % 10)
c = a + b
if c >= 10:
c -= 10
new = (b * 10) + c
count += 1
if new == N:
break
print(count)
프로그래머스와 다르게 백준은 입출력을 직접 입력해줘야 된다는 것을 뒤늦게 알게 되었다.(어제 공부한 알고리즘 문제가 전부 오답만 뜨던 이유를 알게 되었다.) 그래서 잘몰랐던 입출력 언어 공부를 오늘 정리하는 시간을 가가졌다.
# 정수를 입력한다는 것을 가정함.
num = int(input())
python에서 input함수를 통해 입력값을 받게 되면 문자로 인식하기 때문에 int로 감싸줘야 정수로 값을 입력받게 된다.
# 정수를 입력하는 것으로 가정함.
nums = list(map(int, input().split()))
# list를 씌웠기 때문에 리스트 형태로 값을 입력받음.
# 정수를 입력하는 것으로 가정함.
import sys
num = int(sys.stdin.raadline())
nums = list(map(int, sys.stdin.readline().split()))
# 4 5 이런 형태의 입력값이 들왔다고 가정.
# 1 0 0 0 0
# 2 2 0 0 0
# 3 3 3 0 0
# 4 4 4 4 0
# 5 5 5 5 5
Row, Col = map(int, input().split())
Board = [list(map(int, input().split())) for_in range(Row)]
입출력을 공부하면서 for문에서 변수명이 필요 없을시 생략해도 된다는 것을 알게되었다. (변수자리에 _ 로 대체가능)
list = [0 for _ in range(5)] # [0, 0, 0, 0, 0]
오늘은 백준에 있는 문제보다는 프로그래머스에 있는 기초적인 문제를 더 많이 풀었다. 어제 알고리즘 문제를 풀면서 아직 컴퓨터언어에 미숙한 점이 많은 것을 느끼고 기초문제를 풀면서 문법공부를 하는게 더 나을 것 같아 이런 선택을 하였다. 그래도 입출력 문제가 해결되고 어제 문제가 정답으로 나오는 걸 보니 어제의 고생이 헛된 것은 아니였다.