상세 컨텐츠

본문 제목

항해33일차

본문

728x90
반응형

시뮬레이션 ++

백준의 탕수육 이 코드는 주어진 문자열의 길이에 따라 짝수와 홀수인 경우에 대해 다르게 처리하여 출력하는 방식입니다. 아래는 코드의 작동 방식에 대한 설명입니다.

### 코드 설명

1. **입력 처리**:
   - `t = int(input())`: 테스트 케이스의 수를 입력받습니다.
   - `games = []`: 문자열을 저장할 리스트를 초기화합니다.
   - `for _ in range(t): games.append(input())`: 각 테스트 케이스에 대해 문자열을 입력받아 리스트에 추가합니다.

2. **문자열 처리**:
   - `for game in games:`: 입력받은 각 문자열에 대해 반복합니다.
   - `if len(game) % 2 == 0:`: 문자열의 길이가 짝수인지 확인합니다.
     - 짝수인 경우:
       - `print(game[0::2])`: 인덱스가 0인 문자부터 시작하여 2씩 증가하는 인덱스의 문자를 출력합니다.
       - `print(game[1::2])`: 인덱스가 1인 문자부터 시작하여 2씩 증가하는 인덱스의 문자를 출력합니다.
     - 홀수인 경우:
       - `print(game[0::2], game[1::2], sep='')`: 인덱스가 0인 문자와 1인 문자를 각각 출력하되, 공백 없이 출력합니다.
       - `print(game[1::2], game[0::2], sep='')`: 인덱스가 1인 문자와 0인 문자를 각각 출력하되, 공백 없이 출력합니다.

### 코드 예시
아래는 주어진 코드를 그대로 사용한 예시입니다:

```python
t = int(input())
games = []
for _ in range(t):
    games.append(input())

for game in games:
    if len(game) % 2 == 0:  # 문자열의 길이가 짝수일 때
        print(game[0::2])  # 인덱스가 0인 것부터 2씩 증가하면서 가져온다
        print(game[1::2])  # 인덱스가 1인 것부터 2씩 증가하면서 가져온다
    else:
        print(game[0::2], game[1::2], sep='')  # sep='' 안 붙여주면 공백이 출력되기 때문
        print(game[1::2], game[0::2], sep='')
```

### 사용 예시
입력 예시:
```
3
abcdef
abcde
abc
```

출력 예시:
```
ace
bdf
ab
c
c
ab
```

이 코드는 주어진 문제를 잘 해결하고 있으며, 입력에 따라 적절한 출력을 생성합니다. 추가적인 질문이 있으면 언제든지 말씀해 주세요!

728x90
반응형

'<알고리즘 문제풀이& 연습> > 코딩테스트 연습' 카테고리의 다른 글

항해35일차  (1) 2024.12.02
항해34일차  (1) 2024.12.01
항해32일차  (2) 2024.11.29
항해31일차  (0) 2024.11.28
항해30일차  (1) 2024.11.27

관련글 더보기