inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Lõi kiểm tra mã hóa cho người mới bắt đầu (lý thuyết và giải quyết vấn đề) [Python]

[Bài 1] Loại kẹo

cnt = 1 과 nums.sort() 의 순서가 바뀌어야하지 않나요?

274

PrivilegeEscalate

27 câu hỏi đã được viết

0

안녕하세요 강사님. 덕분에 조금씩 강해지는걸 느낍니다. 다 강사님 덕분입니다. 다름이 아니라 문제 정답코드에서 cnt = 1 과 nums.sort() 라인이 바뀌어야 하지않나 의문을 제시해봅니다.

 

정렬을 해주는 이유가 이미 앞에서 중복검사를 한 값을 뒤에서 또 한번 검사하게 하지 않게하기 위함인데, cnt 를 먼저 1 로 초기화준 다음에 sort() 를 진행하게 되면 nums[0] 이었던 값이 나중에 또 중복검사되는 변수가 생기지 않나요?

 

해당 문제처럼 개수를 카운트하는 문제는 상관없지만, 만약에 uniq 한 값을 배열을 리턴받아 사용하는 문제가 된다면 문제가 있을 것 같습니다.

 

혹시 제가 놓치고있는 부분이나 잘못생각하고있는 것일까요?

답변부탁드리겠습니다!!

 

uniq 한 배열을 리턴받아 사용하는 경우로 가정하고 테스트를해보면 아래와 같이 나옵니다.

 

  1. nums.sort() 가 나중에 올 경우

 

  1. nums.sort() 가 먼저 올 경우

 

python 코딩-테스트

Câu trả lời 2

0

codingcamp

안녕하세요^^

네. 맞습니다.

유니크한 값을 배열에 담아 리턴할때는 먼저 소트를 하고 첫번째 원소를 배열에 담아야 맞겠죠.

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. PrivilegeEscalate님의 질문에 대해 도움을 드리겠습니다.

cnt = 1로 초기화하고 nums.sort()를 진행하는 것에 대한 순서는 문제의 요구사항에 따라 다를 수 있습니다. nums 리스트가 정렬되기 전에 중복을 검사하는 로직이라면, 정렬 후에는 이미 검증된 값을 다시 검사할 가능성이 생기기 때문에 오류가 발생할 수 있습니다.

PrivilegeEscalate님이 고민하신 상황에서, nums.sort()를 먼저 수행하고 난 후에 중복 검사를 진행하는 것이 더 올바른 접근일 수 있습니다. 정렬을 통해 동일한 값들이 연속해서 나열되므로, 이웃하는 값들만을 비교함으로써 중복 값을 효율적으로 걸러낼 수 있으니까요.

올려주신 두 번째 이미지의 코드 결과는 nums.sort()가 먼저 적용됐을 때, 중복 없이 유니크한 값을 순서대로 정렬하여 출력하는 것으로 보여 효율적인 결과로 평가될 수 있어 보입니다.

정렬이 중복 제거 로직에 영향을 줄 수 있으므로, 정렬과 중복 검사의 순서를 잘 고려하여 코드를 작성하시는 것이 좋습니다. 만약 강의 내용에서 코드의 순서가 영향을 줄 가능성이 있다면 강사님께 직접 문의하여 확인해 보시는 것도 좋을 것 같습니다.

더 도움이 필요하시면 인프런질문답변 섹션을 이용해보시기 바랍니다.

감사합니다!

백준 서비스 종료인데 도전 과제 프로그래머스 문제로 올려주실수 있으신가요

0

59

1

도전과제 질문있습니다

0

69

2

안녕하세요 강사님 파이썬 커리큘럼 문의드립니다..

0

86

2

두수의합 sorting 질문

0

141

1

두수의합 Counter 사용

0

161

2

[문제3번] 두수의 합 : O(nlogn)

0

136

1

set을 활용한 중복제거

0

198

2

[문제 5번] 중복제거

0

150

1

최소값의 위치

0

139

1

백준 사용 시 채점 언어

0

174

1

백준 10546 배부른 마라토너

0

154

1

고정된 숫자 문제 질문

0

209

2

답은 맞는거같은데 틀렸어요

0

202

1

강의 커리큘럼 질문있습니다.

0

239

1

배열리스트 문제 5번 <중복 제거> 질문입니다.

0

275

1

체크배열을 set 으로 사용해도될까요?

0

248

1

연결리스트의 삽입과 삭제에서 시간복잡도.

0

352

1

내장 함수들의 시간복잡도는 외워둬야하나요?

0

236

1

중복 제거

0

340

1

카드 점수 정확성 테스트 경우의 수 문의

0

187

1

완강 후 후속 강의, 공부법 질문..

0

372

2

nums 조건오류인가요?

2

303

1

최솟값의 위치

0

244

2

강의 3-6 두수의 합(해시) 질문

0

311

1