본문 바로가기
Sketch (Programming Language)/Python

Baekjoon Training #2675/#1157

by 생각하는 이상훈 2022. 7. 20.
728x90

#2675

t=int(input())
for i in range(t):
    r,s=input().split()
    word = ""
    for i in s:
        word += int(r)*i
    print(word)

 

우선 케이스의 개수를 integer변수인 t로 입력받고 for문을 이용하여 t만큼 반복한다.

for문의 내용은 반복횟수 r과 문자열 s를 입력받는다. 이때 .split()을 이용하여 한칸띄어서 입력받는다.

다음으로 word = ""로 빈문자열을 형성하고 이중 for문을 이용하여 각 문자마다 r만큼 곱하여 출력해주는 과정을 for문을 이용하여 반복한다.


#1157

word = input().upper()
word_list =  list(set(word))
cnt = []

for i in word_list:
    count = word.count(i)
    cnt.append(count)
    
if cnt.count(max(cnt)) >= 2:
    print("?")
else:
    print(word_list[(cnt.index(max(cnt)))])

우선 입력받은 word를 upper()함수를 이용하여 대문자로 만들어준다. word를 set함수를 이용하여 같은 문자를 제거해주고 이름이 word_list인 list를 만들어준다. 이름이 cnt인 빈 list를 만들어준다.

for문을 이용하여 word문자열의 각 문자들을 카운팅하여 count매개변수를 이용하여 cnt list에 append해준다.

cnt list에는 문자들의 수가 [3, 5, 1, 1] 이런식으로 원소로 들어가게 된다.

if문에서 max를 이용하여 cnt의 최대값을 갖고오는데 그 값이 두개 이상이면 ?를 출력하고 그렇지 않으면 즉 최대값이 한개라면 word_list에서 해당 문자의 index를 조사하여 해당 문자를 출력해준다.


 

728x90

'Sketch (Programming Language) > Python' 카테고리의 다른 글

Baekjoon Training #14425  (1) 2022.08.06
Baekjoon Training #2798  (0) 2022.07.30
Baekjoon Training #10870  (0) 2022.07.29
Baekjoon Training #1978  (0) 2022.07.24
Baekjoon Training #1712/#2675  (0) 2022.07.21