파이썬 알고리즘 문제풀이 (코딩테스트 대비)
파이썬 알고리즘 문제풀이 (코딩테스트 대비)
수강정보
(28개의 수강평)
1268명의 수강생
66,000원
지식공유자 : 김태원
118회 수업 · 총 25시간 38분 수업
기간 : 평생 무제한 시청
수료증 : 발급 강의
수강 난이도 : 초급
shtingstar 프로필

이해가 안 되는 곳이 있습니다. shtingstar 2일 전
빈공간을 찾으면 a[i]값을 하나씩 줄이는 데요. 왜 줄이는지 모르겠어요 설명 좀 부탁드려요

1
전지윤 프로필

print( list( map(plus_one, a) ) ) 질문 전지윤 2일 전
def plus_one(x) :          return  x+1  a = [1,2,3] print( list( map(plus_one, a) ) ) 라는 코드에서요 map(plus_one,a) 가 실행되면 map이라는 객체가 만들어진다고 하셨는데  그게 뭔가용?... 그리고 list() 함수의 인자로  'map이라는 객체' 가 들어가는 것인가용?

2
banggoo1152 프로필

공주구하기 banggoo1152 4일 전
공주구하기 문제에 대해 질문있습니다. 저는 강사님과 조금 다르게 풀었습니다. input_list에 들어있는 요소의 개수가 k보다 작을 때, k가 짝수라면 input_list[1]이 답이 되고 k가 홀수라면 input_list[-1]이 답이 되는 규칙을 찾았습니다. 임의의 예시를 만들어 해당 규칙을 적용시켜보니, 모든 사례에 이 규칙이 성립하는 것을 발견하였습니다. 해당 규칙을 토대로 알고리즘을 작성하여 채점기를 돌려보았는데,  in3.txt에 대해서만 wrong answer를 유발합니다. 제가 찾은 규칙이 잘못된 것인지, 아니면 코드의 다른 부분에 문제가 있는지 궁금합니다. 자세한 답변 부탁드립니다. 감사합니다. import sys sys.stdin = open(r"C:\Users\my\Desktop\Documents\파이썬 알고리즘 문제풀이(코딩테스트 대비)\섹션 5\5. 공주구하기\in3.txt") n, k = list(map(int, input().split())) input_list = list(range(1, n + 1)) def save_princess(input_list, k):          while True:                  if len(input_list) >= k:                          input_list.pop(k-1)             for i in range(k-1):                                  input_list.append(input_list.pop(0))                      else:                          if k % 2 == 0:                                  result = input_list[1]                 print(result)                 break                          else:                                  result = input_list[-1]                 print(result)                 break              save_princess(input_list, k)

2
민수 S 프로필

사소한 사항인데요ㅎㅎ 민수 S 7일 전
안녕하세요, 선생님! 강의 잘 듣고 있습니다. 사소한 사항인데요, 스트링 함수 isdecimal을 데시멀이 아닌 데미컬로 발음하시는것 같아서요. 강의 내용하고는 상관없지만 말씀드려봅니다~ 좋은 강의 감사드립니다!

1
cyyu829 프로필

input 읽어오기... cyyu829 8일 전
안녕하세요. 파일은 5줄인데 어떻게 리스트에 원하는것만 들어가졌는지 이해가안됩니다ㅠ input() 한번 동작에 한줄 읽어오는것인가요? T=int(input()) 했을때 2 읽고 다음줄넘어가서 for문의 input()으로 한줄읽고 nsek에 넣고 그다음줄 인풋에서 리스트에 넣고 이것을 두번 반복하여 5번이 읽어진게맞나요?

1
cyyu829 프로필

문제에 n이 10000이하라고 나온 조건은 상관없나요? cyyu829 8일 전
제목그대로입니당 감사합니다!

1
cyyu829 프로필

input에 있는 데이터 읽어오기 cyyu829 8일 전
만약 띄어쓰기가 아닐때에는 어떻게 읽어오나요? 그리고 map함수는 어떨때쓰는것인지 잘 이해가 안갑니다ㅠㅠ

1
김정원 프로필

DFS에서 찾아낸 res들을 메인함수에서 활용하고싶습니다. 김정원 9일 전
# 중복 순열 구하기 def DFS(L):     global cnt     if L == m:         cnt += 1         d.append(res) <- 이부분을 하면 모든 res가 추가된 리스트가 생성되지 않습니다              else:         for i in range(1, n+1):             if ch[i] == 0:                 ch[i] = 1                 res[L] = i                 DFS(L+1)                 ch[i]= 0 # 상위 레벨로 갈때 다시 초기화해준다 if __name__ == "__main__":     n, m = map(int, input().split())     res = [0] *n     ch = [0] * (n+1)     d = []     cnt = 0     DFS(0) DFS를 통해 구한 res들을 특정 list에 저장해서 메인 함수에서 사용하고 싶습니다. 방법이 있을까요 ?ㅠ

1
Younghwan 프로필

수들의합 문제에서 혹시 연속적인합 말고 비 연속적인 합을 구하는 방법도 있을까요? Younghwan 12일 전
문제가 연속적으로 포인터를 옮겨가면서 하는데 비연속적인 수들의 합의 경우의수는 투 포인터로 옮겨가면서 하기 힘든것 같은데 요. 이때는 다른 방식으로 풀었던 경험이 있는데 기억이 나질 않네요. 결정 알고리즘(이분탐색)이용했던것 같습니다. 알려주시면 감사하겠습니다.

1
hjun1114 프로필

그리디 알고리즘의 답 hjun1114 12일 전
강의 잘보고있습니다 선생님, 그리디 알고리즘 문제풀이중 (회의실 배정 문제) 답이 최선의 답인줄 어떻게 확신할수 있을까요?

2
동동동그리 프로필

이 문제를 스택으로 풀어보려 합니다. 동동동그리 19일 전
안녕하세요 강의 잘 듣고 있습니다. 해당 문제를 스택을 사용하여 구하려고 합니다. 그런데 에러가 나는데.. 이유를 몰겠네요 ㅠ 제가 사용한 코드 남기겠습니다. n,m=map(int,input().split()) a=list(map(int,input().split())) b=[] cnt=0 for i in a:     b.append(i)          if sum(b)<m:        continue     elif sum(b)==m:         b=b[-1]         cnt+=1     elif sum(b)>m:         if b[-1]==m:             cnt+=1             b.clear()         else:             b=b[-1]              print(cnt) b.append(i)에서 에러가 나는데 이유를 잘 모르겠습니다. 확인해주시면 감사하겠습니다...

1
mucss 프로필

min값에 대한 질문 mucss 24일 전
제가 처음에 문제를 풀어봤을때 min = abs(a[0]-av)를 주어서 풀어봤는데 에러가 발생해서 선생님 강의를 보고 상수값을 넣으니 문제가 해결되었습니다. 그런데 min값에 abs(a[0]-av)를 넣으면 score is not define이라는 오류가 나는데 어떤것이 잘못된것일까요?

1
RI JW 프로필

선생님... RI JW 25일 전
알고리즘 강의 더 찍으실 생각 없으신가요... 설명 너무 조아용 강의 더 내주세요ㅜ 내시면...바로...사겠읍니다... 코테대비 문제풀이도 더 해주시고... 여기에서 안 다룬 알고리즘도 해주시고... 다 해주세요 흑흑흑

1
박종수 프로필

입력이 0인 경우는 어떻게 되나요? 박종수 27일 전
안녕하세요~입력이 0 이면 바로 return 되어서 아무것도 출력이 안되는것 같습니다.if문으로 예외처리를 하는 것이 나을까요??아니면 함수내에서 print하지 않고 변수로 가져갈 방법은 없을까요?? 아래처럼 C언어의 포인터같은 느낌으로 하고 싶은데 문법이 틀리네요. 혹시 맞는 문법이 어떻게 될까요?? def pBin(self.res, n):     if(n==0):         return     pBin(n//2)     #print(n%2,end="")     self.res *= 2     self.res += n%2 감사합니다~

1
박종수 프로필

test5는 10만개가 넘어갑니다. 박종수 28일 전
안녕하세요. 직접만든 힙으로 아래와같이 하면 틀리고 100000 --> 110000으로 하면 맞습니다. in5.txt는 108,071줄 입니다. 감사합니다~ hp = minHeap() for _ in range(100000):     n = int(In())     if(n == -1):         break     elif(n == 0):         print(hp.pop())     else:         hp.insert(n)

1
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스