알고리즘/SWAE

[SWAE-Python] 2072. 홀수만 더하기, 1986. 지그재그 숫자, 1926. 간단한 369게임

황성안 2021. 2. 15. 19:03
728x90

비교적 간단한 문제 2개와..

 

홀수만 더하기

1
2
3
4
5
6
7
8
9
10
= int(input())
#테스트 케이스 3개
# 10개의 수를 입력 받아 , 홀수 값만 더해라.
for tc in range(1, T+1):
    nlst = list(map(int, input().split()))
    temp = 0
    for i in range(0,len(nlst)):
        if nlst[i]%2==1 :
            temp += nlst[i]
    print("#{} {}".format(tc, temp))
cs

 

지그재그 숫자

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
= int(input())
#테스트 케이스 3개
# 10개의 수를 입력 받아 , 홀수 값만 더해라.
for tc in range(1, T+1):
    N = int(input())
    f_temp = 0
    s_temp = 0
    temp = 0
    for i in range(1,N+1):
        if i%2==1 :
            f_temp += i
        else:
            s_temp -= i
 
        temp = f_temp+s_temp
 
 
 
    print("#{} {}".format(tc, temp))
cs

 

생각보다 어려운(?) 문제 1개.. 이 문제를 풀때 저는

숫자를 str 문자열로 바꾸고 3,6,9를 문자에서 - 로 교체시켜줄것이라 생각했지만.. 

언어 습득을 잘 못한관계로 다시 선생님께 도움을 요청하기로했습니다..

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# T = 1
# #테스트 케이스 1개
# # 정수 N 을 입력받아 1~N 개중 3, 6, 9 가나오면 - 를 출력
# # 다만 연속으로 - 가 나오는구간은 - - 가아니라 --이다.
# for tc in range(1, T+1):
#     n = int(input())
#     # temp = 0
#     # for i in range(1,n+1):
#     #     print(i, end="")
#     #     if i==3 or i==6 or i==9:
#     #         print("-")
#     #
#     lst= []
#     for i in range(1,n+1):
#             lst.append(i)
#     for j in range(1,n+1):
#         if lst[j]==3:
#             lst[j]='-'
#     print(lst)
= int(input())        #N은 10이상, 1000이하의 정수이다.
nList = [str(i) for i in range(1, N+1)] 
for num in nList:
    cnt = 0
    if '3' in num:
        cnt += num.count('3')
    if '6' in num:
        cnt += num.count('6')
    if '9' in num:
        cnt += num.count('9')
    if cnt > 0:
        print('-'*cnt, end=' ')
    else:
        print(num, end=' ')
cs

 

정수를 문자열로 바꾸기

 

> 앞에 str() 을 붙인이유가 문자열로 바꿨기때문이다. 

그래서 밑에 if에서 '문자' 를 통해 케이스를 비교해주는 것.

 

>라인 21은 아래와 같이 변경이 가능합니다.

#for i in range(1, N+1)
#nList = str(i) 

 

 

> nList = "" 로 바로 문자열 넣을수있음

for i in range(1, T+1)

 tmp = i

로 할경우 tmp 에 바로 숫자가 다다닥 들어감

728x90