일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 자료구조
- 마인크래프트
- 그리디 알고리즘
- 택시 기하학
- VRoid Studio
- 2025 대한민국 채용박람회
- URP
- 브루트포스 알고리즘
- 빅오 표기법
- windows 12
- 시작
- c#
- 그래픽 디자인
- 잴다의 전설 티어스 오브 더 킹덤
- 라자냐
- 스택
- blender
- vrm posing desktop
- 카니발대학교 공대강국
- unity engine
- 코딩테스트
- 큐
- Probuilder
- 병역일터
- 배열 리스트
- 하이테일
- i자형 인재
- 닌텐도 스위치 2
- 영어
- 다이나믹프로그래밍
- Today
- Total
WalkerJei's Lifelog
백준알고리즘 2675번 문자열 반복 C# 본문
세부 정보
- 사이트: 백준알고리즘
- 번호: 2675
- 문제명: 문자열 반복
- 언어: C#
- 분류: 구현, 문자열
- 비고:
문제
문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다.
QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\$%*+-./: 이다.
입력
첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 반복 횟수 R(1 ≤ R ≤ 8), 문자열 S가 공백으로 구분되어 주어진다. S의 길이는 적어도 1이며, 20글자를 넘지 않는다.
출력
각 테스트 케이스에 대해 P를 출력한다.
풀이
문자열 추출 시 Substring()을 활용한다.
Substring(j, 1)에서 j는 문자열의 시작 지점을 의미하고 1은 시작 지점을 기준으로 문자열 1개를 추출한다는 의미이다.
위에서 1이 들어갈 자리에 0을 넣으면 아무것도 추출할 수 없으니 주의해야 한다.
// 테스트 케이스 개수를 입력한다
int testCaseCount = Convert.ToInt32(Console.ReadLine());
// 추출한 문자를 저장하는 곳
string qrChar;
// 테스트 케이스 개수만큼 반복
for(int i = 0; i < testCaseCount; i++)
{
// 연속으로 출력할 횟수와 출력할 문자들 입력해 배열에 저장
string[] testCase = Console.ReadLine().Split().ToArray();
// 문자열 추출 과정
for(int j = 0; j < testCase[1].Length; j++)
{
// 하나의 문자를 추출해 저장
qrChar = testCase[1].Substring(j, 1);
// 추출한 문자를 입력한 횟수만큼 반복 출력
for (int k = 0; k < Convert.ToInt32(testCase[0]); k++)
Console.Write(qrChar);
}
Console.WriteLine();
}
후기
어제 배운 내용을 응용해서 잘 적용한 문제였다. 반복문을 3중으로 사용했고, 입력과 출력이 번갈아 가면서 나오는 문제이기도 했다.최적화를 잘 해내는 게임 프로그래머가 1차적 목표인 만큼 불필요한 변수를 줄이고, 코드를 짧고 수정하기 쉽도록 만들어야 컴퓨팅 자원을 덜 사용할 수 있다. 다만 코딩테스트는 제한 시간이 있는지라 일단 풀고 시간이 남아야 최적화를 진행할 수 있다. 조금은 성장한 느낌이 든다.
'소프트웨어 개발 > 코딩테스트(기성 문제)' 카테고리의 다른 글
백준알고리즘 5622번 다이얼 C# (0) | 2025.03.15 |
---|---|
백준알고리즘 10988번 팰린드롬인지 확인하기 C# (0) | 2025.03.14 |
백준알고리즘 10871번 X보다 작은 수 C# (0) | 2025.03.12 |
백준알고리즘 8958번 OX퀴즈 C# (1) | 2025.03.12 |
백준알고리즘 2577번 숫자의 개수 C# (0) | 2025.03.11 |