우당탕탕 개발일지

[반복문/인덱싱/대문자] Softeer level 2[한양대 HCPC 2023] X marks the Spot(Python 파이썬) 본문

알고리즘

[반복문/인덱싱/대문자] Softeer level 2[한양대 HCPC 2023] X marks the Spot(Python 파이썬)

민아당긴아 2024. 3. 15. 11:08

💡문제 링크

 

Softeer - 현대자동차그룹 SW인재확보플랫폼

 

softeer.ai

 

💡문제 분석 요약

n개의 문자열 쌍 (s1, t1), (s2, t2), ... , (sn, tn)이 주어진다. (1 <= n <= 500000)

s와 t의 문자열의 길이는 같다.

s에서 글자 "x"나 "X"가 등장하는 위치를 p라고 할 때, t에서 p번째 글자를 읽으면 된다. 소문자면 대문자로 바꿔서.출력값을 차례대로 붙여서 출력한다.

 

💡알고리즘 설계

1. 반복문을 돌려서 s, t값을 입력받는다.

2. 문자열 s를 인덱싱하기 위해서 각 문자를 원소로 갖는 배열 s_list를 만들어준다.

3. 인덱싱 함수, 대문자 함수를 활용해서 값을 출력한다.

 

💡코드

import sys
n = int(input())
for _ in range(n):
    s, t = input().split()
    s_list = []
    for i in s:
        s_list.append(i.upper())
    print(t[s_list.index("X")].upper(), end = "")

 

💡 느낀점 or 기억할정보

어려운 문제는 A4용지 한 장 다 써가면서 오랜 시간이 걸려서 푸는데, 이거는 그냥 바로 코딩했던 문제.

1. 문자열은 슬라이싱이 안 된다. 따라서 문자열의 각 문자를 원소로 갖는 배열을 만들어줘야 한다.

2. 인덱싱 함수, 대문자 함수 까먹지 않고 잘 활용했다.