강의

멘토링

로드맵

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

물쉬드님의 프로필 이미지
물쉬드

작성한 질문수

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

55. 기차운행 (스택 자료구조 응용)

맞왜틀

작성

·

284

0

빨간 세로선 기준으로 왼쪽이 제가 입력한 코드의 결과이고 오른쪽이 강사님의 코드의 결과입니다.

채점을 할 때 강사님꺼는 Success가 뜨는데 제꺼는 Wrong_answer가 뜨네요 ㅠ 뭐가 문제일까요.

 

#define _CRT_SECURE_NO_WARNINGS

#include <iostream>

#include <string>

#include <algorithm>

#include <vector>

#include <stack>

 

using namespace std;

 

int main(int argc, char** argv) {

//freopen("input.txt", "rt", stdin);

int n, i = 1, j = 0, start, count = 0;

scanf("%d", &n);

stack<int> s;

char* a = new char[n * 2];

 

while (count < n) {

scanf("%d", &start);

s.push(start);

a[j++] = 'P';

 

while (!s.empty() && s.top() == i) {

s.pop();

a[j++] = 'O';

i++;

}

 

count++;

}

 

if (s.empty()) {

for (i = 0; i < j; i++)

printf("%c", a[i]);

}

else

printf("impossible\n");

delete[] a;

}

 

퀴즈

선택 정렬(Selection Sort) 알고리즘은 각 단계에서 어떤 작업을 수행하여 배열을 정렬하나요?

인접한 두 요소를 비교하여 필요시 교환합니다.

정렬되지 않은 부분에서 가장 작은(또는 큰) 값을 찾아 정렬된 부분의 올바른 위치로 옮깁니다.

현재 요소를 이미 정렬된 부분 배열의 적절한 위치에 삽입합니다.

배열을 분할하고 각 부분을 재귀적으로 정렬한 후 병합합니다.

답변 1

0

물쉬드님의 프로필 이미지
물쉬드
질문자

시간지나서 빌드하고 다시해보니 제대로 채점되네요! 뭔가 이상한 프로그램 오류가 있었나봅니다!

물쉬드님의 프로필 이미지
물쉬드

작성한 질문수

질문하기