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

대기업목표님의 프로필 이미지
대기업목표

작성한 질문수

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

1-D

1-D 다른 방법으로 풀어봤는데 평가 부탁드립니다

해결된 질문

작성

·

255

0

안녕하십니까 큰돌님

1-D 강의 보기 전에 다른 방법으로 혼자 풀어봤는데 효율적인지 궁금합니다

http://boj.kr/37b43fc6a65a47feaaed0c00515f4eed

그리고 처음에 pop 사용해서 코드 작성했었는데 오류가 나던데 스택, 큐, 디큐의 pop 함수는 반환값은 없는 건지 궁금합니다 !

답변 1

1

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 대기업님 ㅎㅎ

그리고 처음에 pop 사용해서 코드 작성했었는데 오류가 나던데 스택, 큐, 디큐의 pop 함수는 반환값은 없는 건지 궁금합니다 !

>> 네 없습니다. 이게 언어마다 다른 거같아요 ㅎㅎ

 

	for (char c : s) dq.push_back(c);
	
	for (int i = 0; i < s.size()/2; i++) {
		if (dq.front() != dq.back()) {
			cout << 0 << '\n';
			exit(0);
		}

제 생각에는 대기업님은 dq.front()와 back()의 시간복잡도가 O(1)이기 때문에 그렇게 하신 것 같은데요.

사실 문자열은 랜덤접근의 시간복잡도가 O(1)이기 때문에 그냥 문자열로 하셔도 됩니다.

즉, dq라는 불필요한 자료구조 생성 + 매번 pop이 들어가기 떄문에 조금은 비효율적인 코드입니다.

 

감사합니다.

대기업목표님의 프로필 이미지
대기업목표

작성한 질문수

질문하기