#1. 2072. 홀수만 더하기
T = int(input())
for test_case in range(1, T+1):
nums = list(map(int, input().split()))
answer = 0
answ = 0
for num in nums:
if num % 2 != 0:
answer += num
print("#{} {}".format(test_case, answer))
# 2. 2071. 평균값 구하기
아 진짜 .. 웃긴다.. 반올림 함수를 까먹다니 ~ 바부바부 ~ ㅎ.ㅎ
반올림: round, 올림: math.ceil, 내림: math.floor, 소수점 버리기: math.trunc
T = int(input())
for test_case in range(1, T+1):
nums = list(map(int, input().split()))
answer = round(sum(nums) / len(nums))
print("#{} {}".format(test_case, answer))
# 3. 2070. 큰 놈, 작은 놈, 같은 놈
T = int(input())
for test_case in range(1, T+1):
a, b = map(int, input().split())
if a < b:
answer = '<'
elif a == b:
answer = '='
else:
answer = '>'
print("#{} {}".format(test_case, answer))
# 4. 2068. 최대수 구하기
T = int(input())
for test_case in range(1, T+1):
nums = list(map(int, input().split()))
answer = max(nums)
print("#{} {}".format(test_case, answer))
# 5. 2063. 중간값 찾기
n = int(input())
nums = list(map(int, input().split()))
nums.sort()
print(nums[n//2])
# 6. 2058. 자릿수 더하기
하하.. 이번건 10초컷이네.. 전 문제는 20초컷이었는데....
40분, 50분 혹은 2시간을 한 문제 갖고 머리 싸매다가 이것도 문제라고 푸니까.. 재밌다.. ㅎ
n = input()
answer = 0
for num in n:
answer += int(num)
print(answer)
# 7. 2056. 연월일 달력
아.. 이번 건 그래도 1분은 넘게 걸렸다.
내가 참 약한 달력 문제.. 역시는 역시다.. 또 약간 멈칫했다.
이 기회에 다른 분들 푸신 것 좀 봐야겠다. 잘 됐음. => 거의 비슷하게 하셨네.. ? ㅎ;
T = int(input())
for test_case in range(1, T+1):
answer = -1
month_dict = { 1: 31, 2: 28, 3: 31, 4: 30, 5:31, 6: 30, 7: 31, 8: 31, 9: 30, 10: 31, 11: 30, 12: 31}
date_input = input()
year = date_input[0:4]
month = date_input[4:6]
date = date_input[6:]
if int(month) in month_dict and int(date) <= month_dict[int(month)]:
answer = '/'.join([year, month, date])
print("#{} {}".format(test_case, answer))
# 8. 2050. 알파벳을 숫자로 변환
진짜 D1은 기본 문법을 빠짐없이 아는가 숙지하는 맥락인 것 같다. 형 변환 내장 메서드 사용해서 품.
alphabet = input()
answer = []
for alpha in alphabet:
answer.append(str(ord(alpha)-64))
print(' '.join(answer))
# 9. 2047. 신문 헤드라인
앞 문제에서 했던 말 이하동문. 나 기본 문법 아는 지 스스로 확신 갖는 중인 듯.
특히 string 관련 메서드들 한 번 쭉 보면 좋겠다. 참고 사이트 ㄱㄱ
input_string = input()
print(input_string.upper())
# 10. 2046. 스탬프 찍기
진짜 파이썬 만만세
n = int(input())
print('#'*n)
# 11. 2043. 서랍의 비밀번호
p, k = map(int, input().split())
print(abs(p-k)+1)
# 12. 2029. 몫과 나머지 출력하기
T = int(input())
for tc in range(1, T+1):
answer = []
a, b = map(int, input().split())
answer.append(a//b)
answer.append(a%b)
print("#{} {} {}".format(tc, *answer))
# 리스트 활용하는 게 마음에 안 들어서 다른 방법 찾아 봄.
T = int(input())
for i in range(1,T+1):
a, b = map(int, input().split())
print("#%d %d %d" %(i, a//b, a%b))
# 13. 대각선 출력하기
for i in range(5):
for j in range(5):
if i == j:
print('#', end="")
else:
print('+', end="")
print("")
# ㅋㅋㅋㅋ... D1이어도 뭐 배울 거 없나 봤는데,
#참.. 이렇게 풀이하시는 분도 있다.. 맞아.. 사실 상관 없다.
print("#++++")
print("+#+++")
print("++#++")
print("+++#+")
print("++++#")
# 14. 2025. N줄 덧셈
아.. 이런 문제 풀 때마다 수학 공식 많이 알아두는 게 진짜 좋다는 생각 든다.
n = int(input())
print(n*(n+1)//2)
# 15. 1938. 아주 간단한 계산기
a, b = map(int, input().split())
print(a+b)
print(a-b)
print(a*b)
print(a//b)
# 16. 1933. 간단한 N의 약수
우선 간단하게 풀기는 했는데, 이런 식으로 하면 수가 1억개가 넘을 경우에 너무 효율적이지 않을 것 같다는 생각이 들어서 약수 구하는 알고리즘이 있나 검색해봤다.
n = int(input())
answer = []
for i in range(1, n+1):
if n % i == 0:
answer.append(i)
print(*answer)
약수 구하기 최적화 참고글 ㄱㄱ
# 17. 1936. 1대1 가위바위보
a, b = map(int, input().split())
if (a == 1 and b == 3) or (a == 2 and b == 1) or (a == 3 and b == 2):
print('A')
else:
print('B')
# 18. 2019. 더블더블
n = int(input())
num = 1
for i in range(n+1):
print(num, end=" ")
num *= 2
# 19. 1545. 거꾸로 출력해보아요.
n = int(input())
while n > -1:
print(n, end=" ")
n -= 1
D1 레벨은 19문제로 끝이었다.
해당 레벨에서 생각해볼 건
1. 수학 수식의 최적화된 알고리즘을 좀 더 정리하고 리마인드하자.
2. 문자열 표현을 좀 간결하게 하자.
정도? 였다.
우다다 달려서 한 3-40분만에 끝낸 것 같다.
'CodingTest > SW Expert Academy' 카테고리의 다른 글
[ SW Expert Academy ] Base 64 Decoder (0) | 2022.11.14 |
---|---|
[ SW Expert Academy ] 부분 문자열 (0) | 2022.11.14 |
[ SW Expert Academy ] 5253. 접두어 검색 (0) | 2022.11.14 |
[ SW Expert Academy ] 5252. 공통 단어 검색 (0) | 2022.11.14 |
[ SW Expert Academy ] 5251. 최소 이동 거리 (0) | 2022.11.14 |