본문 바로가기

알고리즘, 자료구조

[백준| 단계별로 풀어보기 5단계 문자열 | Python] 9086번 문자열

1. 문제 목적

이 문제의 목적은 문자열 인덱싱과 슬라이싱을 통해 문자열 내 특정 위치의 문자에 접근하는 방법을 익히는 데 있습니다. 이는 문자열 데이터를 처리하고 조작하는 기본적이면서도 필수적인 기술입니다.

2. 핵심 개념

  • 문자열 인덱싱: 파이썬에서 문자열은 인덱스를 통해 각 문자에 접근할 수 있는 시퀀스입니다. 인덱스는 0부터 시작합니다.
    • 예: 'Python'[0]은 'P', 'Python'[-1]은 'n'
  • 슬라이싱: 문자열의 일부를 "잘라내어" 새로운 문자열을 생성하는 방법입니다. [시작:끝:간격] 형태로 사용됩니다. 간격은 생략 가능하며, 시작 또는 끝 인덱스가 생략되면 각각 문자열의 시작 또는 끝을 의미합니다.

3. 문제 해결 절차

  1. 테스트 케이스의 수를 입력받습니다.
  2. 각 테스트 케이스에 대해 문자열을 입력받습니다.
  3. 문자열의 첫 번째 문자와 마지막 문자를 선택합니다.
  4. 선택된 두 문자를 출력합니다.

4. 코드 작성

n = int(input())  # 테스트 케이스 수 입력
for _ in range(n):
    s = input()  # 문자열 입력
    print(s[0] + s[-1])  # 첫 번째 문자와 마지막 문자 출력

 

5. 코드 분석

  • n = int(input()): 사용자로부터 테스트 케이스의 수를 정수 형태로 입력받습니다.
  • for _ in range(n): 입력받은 테스트 케이스의 수만큼 반복합니다.
  • s = input(): 각 테스트 케이스에 대한 문자열을 입력받습니다.
  • print(s[0] + s[-1]): 문자열의 첫 번째 문자(s[0])와 마지막 문자(s[-1])를 연결하여 출력합니다.

6. 추가개념

  • 아스키 코드(ASCII Code): 아스키 코드는 문자를 숫자로 표현하는 인코딩 표준입니다. 예를 들어, 대문자 'A'의 아스키 코드는 65, 소문자 'a'의 아스키 코드는 97입니다.
  • ord() 함수: 주어진 문자의 아스키 코드 값을 반환합니다. 예: ord('A')는 65를 반환합니다.
  • chr() 함수: 주어진 아스키 코드에 해당하는 문자를 반환합니다. 예: chr(65)는 'A'를 반환합니다. (이 문제에서는 사용되지 않지만, 아스키 코드와 문자 간 변환을 이해하는 데 유용합니다.)