inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

1-K

1-K 질문

해결된 질문

344

정재윤

작성한 질문수 29

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

안녕하세요. 강사님.

이런 느낌으로 팰린드롬 변환을 구현해봤습니다.

사실 문자열 최대길이가 50이라서 시간복잡도 문제는 없을거라 생각하는데요.
삽입을 사용안하고 풀어보려고 했는데 reverse도 결국 O(N)이라서 유의미한 차이는 없는거 같습니다.

실제로 중간 삽입, reverse도 중간부분을 뒤집는거라 같은 시간복잡도가 예상되는데 맞을까요?

http://boj.kr/6889e519af6742b9a6cda67803fbf013

c++ 코딩-테스트

답변 1

0

큰돌

안녕하세요 재윤님 ㅎㅎ

정말 잘 짜셨네요.

        if(cnt[i] % 2 == 0) {
            for(int j = 0; j < cnt[i]/2; j++) temp += i + 65;
        } else {
            t++;

홀수와 짝수 분리하면서 t를 기반으로 펠린드롬이 안될 경우 체크하는 것도 너무 좋았습니다.

    ret = temp;
    reverse(temp.begin(), temp.end());
    if (c.empty()) cout << ret + temp << "\n";

사실 이 reverse는 어쩔 수 없는 거 같아요.

예를 들어 reverse를 안쓴다면 for문을 통해서 역순으로 집어넣어야 하는데 그거나 그거나 똑같습니다..

그러나 이렇게 함수 하나하나 시간복잡도를 신경쓰면서 코드를 구축하시려고 한 점은 너무나도 좋습니다. 계속해서 이렇게 해주세요.

잘 짜셨습니다.

 

 

또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제가 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.

코딩살구클럽 입장이 안됩니다

0

12

1

4-F 경우의 수 질문입니다.

0

26

2

코딩살구클럽 가입이 안됩니다.

0

52

2

살구 클럽에 대한 질문있습ㄴ디ㅏ

0

40

1

교안 158페이지 문의드립니다

0

37

2

코딩살구클럽 관련 건의사항

0

97

1

코살에 19942 다이어트 문제에 N의 범위가 빠져있슴니다

0

39

1

진행 방법 질문드립니다!

0

72

2

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

0

61

2

2주차 개념#12 트리 순회

0

32

2

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

0

301

2

백준 서비스 종료

9

918

1

sk 하이닉스 코테 대비

0

378

2

3-G 최댓값 질문

0

52

1

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

0

84

2

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

0

63

2

3-N 질문 있습니다.

0

68

2

학습방법

0

104

2

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

0

67

2

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

0

178

2

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

0

70

2

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

0

65

2

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

0

52

2

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

0

70

2