본문 바로가기
coding test

[코테준비] #3. 문자열

by 소소한해결사 2024. 7. 25.

 


오늘의 학습 키워드 

문자열

 

 

 공부한 내용 

 

📌 코딩 테스트 문제 ? 

코딩테스트 연습 - 문자열 내 마음대로 정렬하기

 

 

📌 문제 풀이 프로세스 

 

[1] 문제 이해

 

문제를 처음 읽었을 때는 

생각보다 쉬운데? 라는 생각이 들었다.. 

 

하지만, 조건들이 2가지 정도 있어서 

이걸 잘 구현하는 게 관건일 거라는 생각이 들었다. 

 

 

[2] 직관적 문제 접근 

 

역시나 나는 단순한 사람이라.. 

직관적으로 문제를 먼저 접근 했다. 

 

(1) 배열 안에서 비교를 해야돼서 이중 for문을 써야겠다. --> 버블정렬

    for i in range(len(strings)):
        for j in range(0,len(strings)-i-1):

 

(2) 조건들 ?

첫 번째, 문자열에서 n번째 문자를 비교

두 번째, n번째 문자가 같다면 사전순으로 비교 

if strings[j][n] > strings[j+1][n] or (strings[j][n] == strings[j+1][n] and strings[j] > strings[j+1]):

 

(3) 배열에 오름차순으로 잘 넣기 

strings[j], strings[j+1] = strings[j+1], strings[j]

 

결과는... 

 

 

통과다..! 

 

 

3. [회고]

 

이번 문제에서도 썼다 지웠다를 많이 반복했다.

파이썬 문법에 익숙하지 않아서 

이것저것 찾아보느라 시간도 많이 쓴 것 같다.. 

 

이번 문제를 통해서 .. 

비교를 하는 문제에는 우선적으로 

버블정렬을 써보는 게 좋겠다는 생각을 했다.

물론 시간복잡도가 문제가 될 수 있겠지만 말이다. 

 

흠.. 버블정렬을 쓰기 어려운 문제에는 

어떻게 대응하면 좋을지 고민해봐야겠다..!

 

풀이 시간 : 00:23:25

 

'coding test' 카테고리의 다른 글

[코테준비] #4. 문자열  (0) 2024.07.26
[코테준비] #2. 행렬  (4) 2024.07.24
[코테준비] #1. 행렬 / 배열  (3) 2024.07.23