Algorithm/Baekjoon

[백준] 1032번 명령 프롬포트(python) - 세무민의 코딩일기

세기루민 2024. 3. 26. 21:02
728x90

안녕하세요 세기무민입니다.

회사 다니다보니 알고리즘 공부에 조금 소홀했는데

향후 이직이나 알고리즘 공부를 위해 틈틈히 풀면 좋을 것 같아서 

이번 포스팅은 백준 알고리즘 포스팅으로 찾아왔습니다.

 

문제 설명

 

예시

 

 

문제 풀이

 

우선 해당 문제에서는 패턴만 파악하면 되는 문제인데 

예시로 나온 dir a?b.exe를 유심히 봅시다.

acb.exe, aab.exe, apb.exe가 나와도 문제 없다고 하는 말을 다시 해석해보면 

?표에 들어간 단어는 달라도 무관하다는 의미를 가집니다. 

즉, 입력받은 값들 중 같은 값이 아닌 경우에는 ? 표시를 해주면 되는 문제입니다.

 

코드를 보면 아래와 같습니다.

# 명령 프롬포트 - 1032
inputValue = int(input())
for i in range(inputValue):
    if i == 0:
        value = list(input())
        result = value
    else :
        n_value = list(input())
        for j in range(len(value)):
            if value[j] == n_value[j]:
                result[j] = value[j]
            else:
                result[j] = '?'


print(''.join(result))

 

문자열로 비교하는 방식보다는 리스트로 비교 후 리스트를 문자열로 변환하는게 조금 더 편할 것 같아서 위와 같이 구현했습니다.

풀이 방식은 아래와 같습니다.

  • 입력 받은 N의 숫자들 중 가장 첫번재로 들어온 값은 result 리스트에 담아둡니다.
  • 그 후로 입력받은 값들을 가장 먼저 입력받은(value) 값과 하나씩 비교합니다.
  • 비교 시 같을 경우는 value, 다를 경우에는 ?를 result에 추가해줍니다.
  • 리스트로 들어온 값을 문자열로 변환해줍니다.

 

결과

 

 

 

GitHub 문제 풀이
 

Study__Algorithm_CodingTest/backjoon/BeakJoon_Python/문제풀이/1032_명령프롬포트.ipynb at main · sg-moomin/Study__Algo

Contribute to sg-moomin/Study__Algorithm_CodingTest development by creating an account on GitHub.

github.com

문제 푼 내용은 위의 링크에서 확인할 수 있습니다.

 

 

다음에도 알고리즘 문제 풀이 포스팅으로 찾아오겠습니다! 

728x90