• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

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

23.09.05 12:51 작성 조회수 107

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 인턴님의 프로필

인프런 AI 인턴

2023.09.07

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

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

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