그동안 문제가 요구하는 출력문의 결과물에, 맨 마지막에 공백문자가 있건 없건 상관없다고 하여서, 그리고 내가 풀어왔던 문제들도 그것의 영향을 받지 않았기 때문에, 이 문제(11328)를 푸는 경우에도 \n을 제외하고 계속 출력하여서 풀어보았는데, 아무래도 정말 내가 푼 풀이가 맞는것 같아서 혹시나 하는 마음에 \n을 붙여서 제출해보니 정답이 맞았다.
너무 어이가 없는 결과다.
내가 보기에는 Impossible , Possible 로만 출력하라고 했지, 지속적으로 줄을 내리라고 얘기하지는 않고있는데,
그런데 예제출력의 형태는 \n을 넣어서 찍어낸것처럼 보이긴 한다.
혹시나 그렇다면 내가 지금까지 보았던 문제들의 경우 이런식의 예제출력 부분이 없었던건가?
이제는 공백문자나 새로운 라인으로 내리를 부분에 대해서도 생각해보면서 문제를 풀어야 할것같다.
아무래도 예제출력에서 요구하는 부분에 대해서, 어떻게 생긴건지, 모양새를 확실하게 보면서 문제를 풀도록 해보자.
그리고 이 문제의 풀이에서 재미난 표현이 있어서 한번 여기에다가 첨부하고, 지속적으로 따라 쳐보면서 익숙해져보고자 한다.
그동안 스트링에서, 스트링이 결국 문자의 열, 그러니까 캐릭터의 배열이니까, 배열에 접근할때
for(auto c: array) 형 태로 사용하여서 어레이 내부에 있는 모든 원소들에서 반복문을 실행하였는데,
int로 이루어진 배열에 대해서도 각각의 배열의 원소에 대해서 접근하면서 반복문을 처리할 수 있다.
이게 그 형태이고, 이 형태는 결국에 어레이의 이름 preq를 원소의 갯수preq[26] 부분을 제외하고 그냥 배열의 이름만 넣었고, 그리고 각각의 배열속 원소들을 순회하는 인자는 int i로 선언해서 , 그 i들에 대해서 for문 내부에 있는 과정들을 처리하고 있다.
이렇게 처리하면서 결과적으로 isPossible이 마지막에 어떻게 되어있는지에 따라서 경우가 참인지 거짓인지 갈라보려고 하는것을 알 수 있다.
그러니 이러한 표현법에 대해서 익숙해져보도록 하자.
그동안은 auto c: 형태로 사용하여서 거의 스트링에서 캐릭터 원소로 접근하는걸 했었는데, 여기에 작성한 방법을 보니까 그런식의 제약없이 인트원소 형태로 인트어레이에 접근할 수 있다는걸 배우게 되었다.
지속적으로 따라쳐보면서 공부해보도록 하고, 그리고 또 한번 뉴라인을 끝에 출력해주어야 정상적으로 인식되는 문제인지 생각해보도록 하자.
'알고리즘 > BOJ' 카테고리의 다른 글
공백 문자를 포함하는 문자열을 받을때, getline(cin,s,'원하는 char') 형태를 기억하자. (0) | 2023.04.08 |
---|---|
c++에서 소수의 자릿수 표현에 대한 방법. (0) | 2023.04.08 |
0x02강 기초코드작성요령2. max_element(a,a+9)을 활용한 원하는 위치의 배열의 인덱스 원소 출력 방법. (0) | 2023.03.25 |
0x02강 기초코드작성요령2. for문 두개에 하나의 int j로 컨트롤할때 주의사항. (0) | 2023.03.24 |
0x02강 기초코드작성요령2. 원소들을 뒤집을때, STL reverse 함수를 사용할 수 있다. (0) | 2023.03.24 |