inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

38군데 합격 비법, 2026 코딩테스트 필수 알고리즘

1-10. 알고리즘 더 풀어보기 (2)

1-10강 문제풀이중...

해결된 질문

177

Hello World

작성한 질문수 1

0

1. 현재 학습 진도

 

2. 어려움을 겪는 부분

def find_not_repeating_first_character(string):
    # 이 부분을 채워보세요!
    for char in string:
      if string.count(char) == 1:
        return char
    return "_"

 

이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다! 😊

python 코딩-테스트 알고리즘 data-structure

답변 1

1

딩코딩코

안녕하세요 Hello World님! 좋은 질문 감사합니다.

내장함수를 이용해서 새로운 풀이방법을 고민해보시는 점 너무 좋습니다!!

충분히 알고리즘적인 생각이고, 좋은 접근법입니다!

 

다만, 시간 복잡도 적인 면에서 아쉬운 점이 있습니다.

string.count(char)를 사용하면, 사실상 문자열 전체를 매번 순회하게 됩니다. 따라서 각 문자마다 문자열을 전부 탐색하므로 시간 복잡도는 O(N) * N, 즉 O(N²)가 되어 매우 비효율적입니다.

for char in string 에서 O(N) 만큼, string.count(char) 에서 O(N) 만큼 소요하게 되어서 2중 반복문의 형태로 O(N²)의 시간이 소모되게 되는 것입니다.

 

반면, 아스키 코드를 활용하면 한 번의 순회로 빈도를 계산할 수 있어 O(1) * N, 즉 O(N)의 시간 복잡도로 훨씬 효율적입니다.

 

파이썬을 하다보면, 이처럼 내장함수라서 매우 간단해보이지만 생각보다 시간복잡도가 높은 함수들이 몇개 존재합니다. 따라서 이런 것들을 주의하면서 코드를 작성해야 할 것 같습니다

좋은 질문 감사합니다 새해 복 많이 받으세요!!

수강평 이벤트

0

34

2

코딩테스트 처음인데 이런 공부방법이어도 괜찮을까요

0

70

2

3-3 정렬-2 선택정렬 로직

0

43

2

링크드 리스트 끝에서 k번째 값 출력하기

0

46

2

LinkedList 과제 Fast, slow 포인터

0

50

2

투포인터 시간복잡도

0

53

2

수강평 작성 후 자료

0

53

2

수업교재 링크 오류

2

114

2

프로그래머스에서 제출 후 채점시 틀림ㅠ

0

133

2

1-10 알고리즘 더 풀어보기(2) 질문 있습니다

0

76

2

문제 풀이 방식 관련 질문입니다!

0

88

2

1-5 알고리즘과 친해지기 (2) - 최빈값찾기 질문 있습니다

0

94

2

수업자료 pdf 받고싶습니다

0

108

2

강의 자료 오류 수정

0

75

1

2-10 더하거나 빼거나 관련 질문입니다

0

63

2

3-8 해쉬 -2

0

49

2

Linked List Element Delete Explanation Problem

0

69

2

강의3-4 스택 탑 문제

0

74

2

코드스니펫 입출력 케이스에 오류가 있는것 같아요

0

100

3

링크드 리스트 원소 찾기 구현 방식 질문드립니다.

0

76

2

1874 - 스택 문항

0

81

2

DP Java 예제 자료형 오버플로우 문제

0

100

2

4-9 4주차 숙제중 농심라면 문제

0

111

2

DFS 에서 스택을 사용하는 이유

1

187

3