※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 23321번 문제인 홍익 댄스파티이다.
문제는 아래 링크를 확인하자.

https://www.acmicpc.net/problem/23321 

 

23321번: 홍익 댄스파티

10년 전, 홍익대학교 학생을 위한 댄스파티가 개최되었다.   도약 준비 도약 중 착석 1 . o . 2 o w . 3 m l o 4 l n L 5 n . n 댄스파티에는 위와 같이 세 종류의 학생이 있다. 학생들은 빈자리 없이 좌우로

www.acmicpc.net

주어진 5행의 문자열의 각 열은 한 사람을 의미하고, 각 열을 각각 "서있는 사람"(도약 준비), "뛰고있는 사람"(도약 중), "앉아있는 사람"(착석)을 문자로 표현한 것으로 보면 문제의 이해에 도움이 된다.

 

각 열의 사람의 상태를 보고, 도약 준비인 사람은 도약 중 상태로, 도약 중인 사람은 도약 준비의 상태로 각 열의 문자들을 바꿔주는 것으로 문제를 해결할 수 있다.

 

아래는 제출한 소스코드이다.

#include <iostream>
using namespace std;

int slen;
string s[5];

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);

	for (int r = 0; r < 5; r++) cin >> s[r];
	slen = s[0].length();

	for (int c = 0; c < slen; c++) {
		if (s[2][c] == 'm') s[0][c] = 'o', s[1][c] = 'w', s[2][c] = 'l', s[3][c] = 'n', s[4][c] = '.';
		else if (s[2][c] == 'l') s[0][c] = '.', s[1][c] = 'o', s[2][c] = 'm', s[3][c] = 'l', s[4][c] = 'n';
	}

	for (int r = 0; r < 5; r++) cout << s[r] << '\n';
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 27219 // C++] Робинзон Крузо  (0) 2023.01.17
[BOJ 27251 // C++] Звездочки  (0) 2023.01.17
[BOJ 3280 // C++] CARDS  (0) 2023.01.16
[BOJ 3276 // C++] ICONS  (0) 2023.01.16
[BOJ 3281 // C++] T9  (0) 2023.01.15

+ Recent posts