728x90
유형 | 난이도 | 완료일 | 링크 | 특이사항 |
문자열 | 브론즈1 | 23/03/16 | https://www.acmicpc.net/problem/10798 |
내 코드
#include <iostream>
#include <string>
using namespace std;
int main(void)
{
char arr[5][15] = {0,};
for(int i=0; i<5; i++)
{
for(int j= 0; j<16; j++)
{
char ch = cin.get();
if(ch =='\\n')
break;
else
arr[i][j]=ch;
}
}
cin.clear();
for(int i=0; i<15; i++)
{
for(int j= 0; j<5; j++)
{
if(arr[j][i]!=0)
cout << arr[j][i];
}
}
}
2차원 문자 배열을 어떻게 입력받는대로 만들지 모르겠어서 검색하던 중 cin.get()을 발견하였고 원하던대로 2차원 문자 배열을 잘 만들었다. 그러나 제출하자마자 틀렸습니다를 받았다.
이유는 문자열 최대 길이인 15만큼의 길이를 갖는 문자열이 입력됐을 때 해당 문자열은 배열에 잘 저장되지만 그 다음 문자열은 입력 받기도 전에 cin.get()으로 길이 15의 문자열을 입력받은 후 들어오는 “\n”을 받고 break되어 저장되지 못한다. 따라서 오답처리되었던 것이다. j>15 → j>16으로 수정하자 정답처리됐다.
728x90
'Algorithm' 카테고리의 다른 글
[백준/C++] 2294 동전2 (G5) (1) | 2023.10.17 |
---|---|
[백준/C++] 13241 최소공배수 (S5) (0) | 2023.10.17 |
[백준/C++] 2293 동전 1 (G5) (1) | 2023.10.17 |
[백준/C++] 11047 동전0 (S4) (0) | 2023.10.17 |
[백준/C++] 25206 너의 평점은 (S5) (1) | 2023.10.17 |