inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

1-L

1-k, cout.tie() 틀

해결된 질문

66

mayong0707

작성한 질문수 14

0

#include <bits/stdc++.h>
using namespace std;

string s, ret;
char mid;
int cnt[200], flag;

int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL); cout.tie(NULL);

	cin >> s;
	for (char c : s) cnt[c]++;
	
	for (int i = 'Z'; i >= 'A'; --i)
	{
		if (cnt[i] & 1) 
		{
			flag++;
			mid = char(i);
			cnt[i]--;
		}
		if (flag == 2) break;
		for (int j = 0; j < cnt[i]; j += 2)
		{
			ret = char(i) + ret;
			ret += char(i);
		}
	}

	if (mid) ret.insert(ret.begin() + ret.size() / 2, mid);
	if (flag == 2) cout << "I'm Sorry Hansoo\n";
	else cout << ret << "\n";
	return 0;
}

 

강사님의 코드와 동일한데 최적화를 위해 cout.tie(NULL)이 추가된 코드입니다. ""cout"이 모호합니다."라는 오류가 뜨지만, 출력은 잘 진행됩니다. 문제는 백준에서는 틀림처리가 생기는데 왜 그런건가요? 알고리즘 교안에서는 scanf나 printf를 사용하지 않으면 괜찮다고 나와있는데 추가적으로 더 알아야할 것들이 있는건가요?

c++ 코딩-테스트

답변 2

0

큰돌

안녕하세요 ㅎㅎ

문제는 백준에서는 틀림처리가 생기는데 왜 그런건가요?

->

원래 코드는 맞는데

cout.tie를 추가하면 틀렸다라고 뜨시나요?

틀린코드 및 맞는코드 두개 링크 부탁드립니다.

 

감사합니다.

0

인프런 AI 인턴

안녕하세요, mayong0707님. 인프런 AI 인턴입니다.

코드에 대한 질문을 주셔서 감사드립니다. 말씀하신 문제는 입력 출력 최적화 관련 설정을 했는데도 불구하고 백준에서 틀린 답이라고 뜨는 상황으로, 이는 최적화와는 무관할 수 있습니다. 오류를 해결하기 위해서 몇 가지 포인트를 점검해보겠습니다:

  1. 문제 조건 상의 오류: 백준에서 문제가 어떤 상황에서 틀린다고 판단하는지 오류 메시지를 확인하는 것이 중요합니다. 문제에 주어진 모든 조건을 반영했는지 다시 한번 검토해주세요.

  2. 입력 문자열 검사: 문제에서 규정한 대로 입력 문자열이 주어지는지 확인해보세요. 모든 문자가 주어진 범위 내에 있고, 대소문자 구분을 올바르게 처리하고 있는지요.

  3. 팰린드롬 생성 로직: 팰린드롬을 생성하는 로직에서 모든 경우를 제대로 처리하고 있는지 확인해야 합니다. 특히 홀수 갯수의 문자가 여러 개인 경우에 “I’m Sorry Hansoo”라는 메시지를 출력해야 하는 논리 구조가 제대로 적용되었습니다.

  4. 디버깅: 로직의 각 단계가 기대한 대로 작동하는지 확인해 보면, 어디서 문제가 발생하고 있는지를 더 잘 파악할 수 있을 것입니다. 각 단계마다 디버그 출력으로 데이터를 확인해 보세요.

  5. 최적화 불일치: 코드 측면에서 ios_base::sync_with_stdio(false);cin.tie(NULL); cout.tie(NULL);는 입출력 성능을 높이기 위한 설정입니다. 이 최적화가 원인이라기 보다는 알고리즘의 논리적인 부분을 다시 확인하는 것이 중요합니다.

유사한 사례에 대한 질문들이 이미 존재합니다. 참고할 만한 관련 질문과 답변 링크를 제공드리겠습니다:
- 백준 1213번 질문입니다!
- 안녕하세요. 1-K 문제 질문드립니다..!

위 링크들을 참고하시어 문제의 논리적 오류가 있는지를 재확인해보시기를 권장드립니다. 알고리즘의 특성상 디테일을 놓칠 수 있는 부분이 존재하므로, 로직의 세심한 검토가 필요할 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

진행 방법 질문드립니다!

0

22

2

2-I) 왜 이 문제가 그래프이론 카테고리에 있는지 잘 모르겠습니다.

0

53

2

2주차 개념#12 트리 순회

0

25

2

백준사이트가 종료된다고 합니다.

0

284

2

백준 서비스 종료

9

879

1

sk 하이닉스 코테 대비

0

367

2

3-G 최댓값 질문

0

50

1

모듈러 연산 값이 10이 아닌 경우도 있지 않나요?

0

83

2

3-I 코드 질문드립니다.

0

62

2

3-N 질문 있습니다.

0

66

2

학습방법

0

102

2

4-H 질문 있습니다 (코드 리뷰)

0

66

2

코딩테스트 어디까지 준비해야 하는지 질문이 있습니다.

0

169

2

2-O 반례가 무엇일지 어떤 부분이 틀렸는지 잘 모르겠습니다.

0

69

2

2주차 개념 #4-2. 인접행렬 질문있습니다.

0

64

2

1-A 문제풀이 후 궁금한 점이 생겨서 질문드립니다.

0

51

2

조합 재귀 풀이 확인 해주시면 감사하겠습니다.

0

68

2

함수별 시간복잡도

0

73

2

3-h 질문입니다.

0

49

1

안녕하세요 선생님. 시간 복잡도 4번 질문있습니다.

0

53

2

1-I 문제 질문 드립니다.

0

76

2

2-P 질문입니다.

0

56

1

mac에서 시작하기 관련

0

91

2

5-Q 질문

0

64

2