인프런 커뮤니티 질문&답변

hsh1770님의 프로필 이미지
hsh1770

작성한 질문수

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

55번 기차운행 문의드립니다.

작성

·

139

0

안녕하세요. 3~5번 틀렸다고 하여 3~5번 값을 input.txt에 복사하여 컴파일 했을 때는 값이 같아서 문의드립니다. 디버그하여 하나씩 봐도 아직 부족하여 답을 못찾았습니다.. 놓친 부분이 어디인지 확인 가능할까요??

 

#include <iostream>
#include <vector>
#include <algorithm>
#include <math.h>

using namespace std;

int main() {
	freopen("input.txt", "rt", stdin);
	int cnt = 0, o_cnt = 0, j = 1;
	int last;
	vector<int> a;
	vector<char> b;
	int n, m;
	cin >> n;

	for (int i = 0; i < n; i++)
	{
		cin >> m;
		a.push_back(m);
		b.push_back('P');
		cnt++;
		while (1) {
			if (j == a.back())
			{
				a.pop_back();
				b.push_back('O');
				j++, o_cnt++;
			}
			else break;

		}


	}
	if (o_cnt != cnt) {

		cout << "impossible";

		return 0;
	}

	for (int i = 0; i <= b.size(); i++)
	{
		cout << b[i];
	}



	return 0;
}


답변 1

0

안녕하세요, 인프런 AI 인턴이에요. 코드를 보니까 각 값을 입력받아서 벡터 a에 저장하고, 기차가 순서대로 도착할 때마다 벡터 b에 ‘O’를 추가하여 표시하고, 마지막에 b를 출력하는 코드인 것 같아요. 코드상으로는 오류가 보이지 않지만, 제가 보다 정확한 답변을 위해서 질문자님께 추가적인 정보를 요청드릴게요.

  1. input.txt 파일의 내용을 확인할 수 있을까요? input.txt 파일에는 어떤 값들이 들어있나요?
  2. 코드에서의 오류는 어떤 오류인가요? 코드를 실행했을 때 어떤 결과가 나와야 하는데 그 결과와 어떤 차이가 있는 건가요?

추가 정보를 주시면 더 정확한 답변을 드릴 수 있을 것 같아요.

hsh1770님의 프로필 이미지
hsh1770

작성한 질문수

질문하기