월 15,400원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
dfs 인자 관련 질문
안녕하세요, 선생님 dfs도 강의 잘 보고 있습니다. 다름이 아니라 다음과 같이 res를 사용안하고 dfs 인자로 tuple을 계속 넘겨줬습니다. 재귀함수에서 다음과 같이 list나 tuple을 넘겨주면 메모리에 문제가 생길거 같은데 시간상에도 문제가 생길까요? import sys sys.stdin = open('section6/input.txt', 'rt') n, m = map(int, input().split()) cnt = 0 def dfs(tp): global cnt if len(tp)==m: print(' '.join(list(map(str, tp)))) cnt += 1 return for i in range(1, n+1): dfs(tp+(i,)) for i in range(1, n+1): dfs((i,)) print(cnt)
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
이 파이썬 강의는 정렬관련 문제가 없는 것 같습니다.
안녕하세요 파이썬 알고리즘 강의를 잘 보고 있습니다. 그런데 다른 강의에는 있는 정렬 관련 문제가 파이썬 강의에는 없는 것 같아서 문의드립니다. 정렬 문제 관련해서 업데이트 예정이 있는지 궁금합니다.
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
deque rotate 관련
안녕하세요, 선생님 강의 잘 듣고 있는 취준생입니다. 다음과 같이 rotate를 사용해 간단히 짜봤습니다. 혹시 빼고 넣는것보다 회전시켜서 빼는게 더 좋을까요? import sys from collections import deque sys.stdin = open('section5/input.txt', 'rt') n, k = map(int, input().split()) dq = deque(range(1, n+1)) while dq: dq.rotate(-(k-1)) x = dq.popleft() print(x)
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
input 부분 수정
코랩으로 파이썬을 사용해서 인풋을 안받아오고 따로 리스트로 입력하고 있었는데 이번 강의는 수정을 해보는데 잘 안되네요. 리스트 안의 리스트 숫자를 이용해야할 것 같은데 어떻게 할지 모르겠습니다. n=3 input = [[3, 3, 6],[2, 2, 2],[6, 2, 5]] res=0 for i in range(n): tmp= input.split() tmp.sort() a,b,c=map(int, tmp) if a==b and b==c: money=10000+a*1000 elif a==b or a==c: money=1000+(a*100) elif b==c: money=1000+(b*100) else: money=c*100 if money>res: res=money print(res)
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
마굿간 문제 질문입니다.
안녕하세요, 질문이 있습니다. 3분쯤에 첫번째 자리는 무조건 첫번째 마구간이라고 하셨는데, 만약 첫번째하고 두번째 마굿간 사이에 거리가 멀고 오히려 2번째 3번째 4번째 마굿간의 거리가 더 가까우면 첫번째가 안들어가지 않나요?! 어떻게 첫번째가 기준이 되는지 잘 모르겠습니다.
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
채점기 샘플에 입력예제2 케이스도 추가해주세요
안녕하세요 선생님. 좋은 강의 감사합니다. 입력예제 2 와 같은 케이스가 채점기에는 없는거 같습니다. 혹시 있다면 죄송합니다. 채점기 통과했는데, 큐처리 방식이 아니고 스트링 비교 등 다른 방식으로 코딩하신 분들은 입력예제2 에서 오류 있을것 같습니다. 해당 케이스를 추가해주시면 수강하시는 분들에게 도움이 될것 같습니다. 저도 그런 케이스였습니다. 게시판에도 몇분 보입니다.
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
섹션 4 - 3. 뮤직비디오(결정알고리즘) 질문입니다.
# n, m=map(int, input().split()) # Music=list(map(int, input().split())) maxx=max(Music) lt=1 rt=sum(Music) res=0 while lt<=rt: mid=(lt+rt)//2 if mid>=maxx and Count(mid)<=m: res=mid rt=mid-1 else: lt=mid+1 print(res) maxx=max(Music) 을 구해서 노래를 잘라 담을 수 없으니 가장 긴 노래를 기준으로 if문에서 조건을 설정했습니다. 길이의 최솟값이 [1,2, ... ,8,9]중에 9인데 처음부터 lt를 1이 아닌 maxx값으로 시작하면 안될까요?
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
pop(0)과 pop() 대신
안녕하세요. 선생님 다름이 아니라 list는 맨 앞에꺼 pop하는 경우 뒤에꺼를 앞으로 다 땡겨와서 시간이 오래 걸린다는 말을 많이 들어서 아래처럼 코드처럼 slicing을 사용했습니다. 아래도 좋아보이지는 않지만 저와 같이 코드 짜는 것보다 선생님처럼 pop과 append 사용하는게 나을까요? 아니면 deque로 변환해서 회전하는 방법도 있을거 같은데 어떤게 나을지 대략적으로 말씀해주실 수 있을까요? import sys sys.stdin = open('section3/input.txt', 'rt') n = int(input()) graph = [list(map(int, input().split())) for _ in range(n)] m = int(input()) l = n//2 def count(graph): cnt = 0 for i in range(n): if i<=l: for j in range(i, n-i): cnt += graph[i][j] else: for j in range(n-i-1, i+1): cnt += graph[i][j] return cnt for _ in range(m): a, b, c = map(int, input().split()) c %= n a -= 1 if b==0: graph[a] = graph[a][c:] + graph[a][:c] else: graph[a] = graph[a][-c:] + graph[a][:-c] print(count(graph))
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
첫번쨰 for문에서 궁금한점
for번쩌 for문에서 i가 0부터 n-1까지 도는데 그러면 i가 0일때 dy[0][0] = dy[0][-1] + arr[0][0] 이되지 않나요? dy[0][-1]이되는데 맞는건가요? 답은 맞긴한데.. 제가 알기로는 배열에서 [-1]은 가장 마지막번째 열이 나오는 걸로 알고있는데 제가 잘못알고있는건가요?
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
Section3 - 5번 문제 수들의 합 질문입니다.
# 수들의 합import syssys.stdin=open("input.txt","r")n,m=map(int,input().split())a=list(map(int,input().split()))result=0for i in range(n): sum=a[i] print("a[i]",a[i]) for j in range(i+1,n): if sum==m: result+=1 break elif sum<m: sum = sum + a[j] else : breakprint(result) 이 문제 관련해서 전 이런식으로 풀었는데, in 2와 in 4가 제가 출력한 값과 1씩 차이가 났습니다. ㅠㅠ 이유를 도저히 모르겠어서 질문을 드립니다. 나머지 in 1,3,5는 정상적으로 동작합니다. 어느 로직에서 잘못이 있었을까요?! * 2중 for문으로 인한 시간복잡도는 수정할 예정입니다! - 수업 잘 듣고 있습니다! 감사합니다.
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
왜 왼쪽 부터 먼저 탐색하나요?
안녕하세요 그 전의 DFS 강의를 보거나 하면 12시 3시 6시 9시 방향으로 검색하면서 갔는데 이번 문제에서는 왜 꼭 왼쪽 먼저 비교하고 오른쪽 비교하고 위쪽을 비교하나요?
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
다이나믹 프로그래밍 문제 중에서 질문이 있습니다.
안녕하세요. 선생님~ 강의 너무 잘 듣고 있고, 질문에 항상 세심하게 답변해주셔서 감사합니다. 바쁘신 와중에, 이런 질문을 해도 될지 모르겠네요;ㅠ 선생님 강의를 듣고 나름 자신감이 생겨서 백준 알고리즘 사이트에 있는 '평범한 배낭2'문제를 풀어보았는데요.. 채점하면 틀렸다고만 나오고.. 잘 풀리지가 않습니다ㅠ 지나친 부탁같아서 넘기셔서 괜찮습니다! 혹시 시간이 조금 있으시다면, 어떤 부분이 잘 못된건지 확인 부탁드립니다:) 혹은 풀이방법을 알려주시면 감사하겠습니다. 아래 문제 링크와 제가 푼 풀이를 붙여 놓았습니다. https://www.acmicpc.net/problem/12920 [코딩 구현한 그림-예제1] [예제2]
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
돌다리문제가 기존 1,2,3번문제랑 같은 문제 아닌가요?
한 칸씩 또는 두 칸씩 가니까 점화식이 n = (n-1) + (n-2)가 되지 않나요? 기존에 1,2,3번은 input이 7이면 답이 21인데 이 문제는 왜 답이 34죠?
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
수학적으로 이해가 잘 되지가 않습니다.
dy[1] = 1이고, dy[2] = 2도 알겠고 n 칸이 n-1칸과 n-2칸으로 쪼개지는 것도 알겠는데 dx[x] = dx[x-1] + dx[x-2]가 성립되는지는 잘 모르겠습니다. 그러니까, x가 커지면 개별의 합([x-1] + [x-2]) 보다 더 크거나 작아질 수는 없는건가요? 이 설명만보고 식이 성립한다고 생각이 들지가 않아요. 만약, 수학적으로 이해가 되지 않을 때는 그냥 수학적으로 x가 1일때 2, 3.... n을 구해서 규칙을 알아내어 제가 점화식을 만드는 게 좋겠죠?
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
그룹탐색(3x3)을 안해도 결과를 알수 있다면 안해도 되나요?
안녕하세요. 스도쿠 검사에서 행/열 검색만 해도 오류를 알수 있다면 그룹 탐색을 안해도 되나요? 코딩테스트 할때, 답변중심으로 채점을 하는지 아니면 과정중심으로 채점을 하는지 궁금합니다. 지원자의 효율성이 우선인지 출제자의 의도가 우선인지 궁금합니다.
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
최대 부분 증가수열 max(dy)가 안되는 이유를 모르겠습니다.
최대 부분 증가수열에서 마지막 부분에 print(max(dy))를 하면 안되는 이유를 모르겠습니다. dy가 list이기 때문에 max(dy)하면 나와야 할 것 같은데, 아래와 같은 에러가 나는지 모르겠습니다..ㅠㅠ
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
형 변환시 메모리
안녕하세요. 형 변환을 배우면서 궁금한게 생겨 질문 드립니다. 정수형 1000을 문자열1000으로 바꾸면 id값도 바뀌던데 그러면 정수형 1000은 메모리에 그대로 남아 있게 되나요? 그렇다면 뭔가 메모리가 낭비되어 형 변환도 많이 하면 메모리 측면에서 안좋은 건가요?
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
안녕하세요. 코테 관련하여 질문 있습니다.
안녕하세요. 비전공 개발자로 일하고 있습니다. 현재 저의 상태는 파이썬의 기초 문법 및 코드업 기초 적인 문제는 다푼정도 입니다. 제가 준비하고 있는 시험은 대기업 코딩테스트 입니다. 현재 이강의를 들으면서 준비 중인데 궁금한점이 있어 질문드립니다. 1. 대기업코테 준비시 해당강의 및 문제를 반복적으로 풀어보는것이 도움이 되나요? 2. 혹시 해당강의의 는 코테에서 어디까지 커버가 가능하다고 생각하시나요? 3. 비전공자라 알고리즘 자료구조를 개념만 알뿐 따로 구현은 해보지 않았는데 강의를 수강하면서 추가적으로 공부를 해야하나요? 직장을 다니면서 공부를 하느라 시간이 별로 없어서 효율적인 방법이 무엇인지에 대해서 생각하고 있습니다. 답변 부탁드리겠습니다. 감사합니다.
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
코드 조언 부탁드립니다!
안녕하세요 교수님! 유익한 강의 감사드립니다. 섹션3. 격자판 회문수 문제를 강의 중에 알려주신 로직과 조금 다르게 풀었는데 혹시 리뷰해주실 수 있을까요? cur1, cur2라는 빈문자열에 이어 붙이는 방식으로 회문을 검사했는데 문자열을 이어붙여 사용하면 속도가 많이 느려지는지도 궁금합니다. 조언 부탁드립니다! ``` board = [list(input().split()) for _ in range(7)] # 회문 검사 cnt = 0 def pal(s): n = len(s)//2 for i in range(n): if s[i] != s[-1-i]: return False return True # 단어 완성 def make_word(): global cnt for i in range(7): for j in range(3): cur1 = '' cur2 = '' for l in range(5): cur1 += board[i][j+l] cur2 += board[j+l][i] if pal(cur1): cnt += 1 if pal(cur2): cnt += 1 make_word() print(cnt)
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
선생님 이 문제에 제약조건이 더 필요하다고 생각합니다.
안녕하세요 선생님 강의 정말 유익하게 잘 배우고 있습니다. 감사합니다. 문제를 풀면서 시원한느낌이 안들어서 질문드립니다. input5 같은경우는 good이 2번 주어지고 good이 두번쓰입니다. input예시 4 good good good big good good big처럼 그렇다면 good이 3번 주어지고 good이 두번 쓰였다면, 쓰지 않은 단어는 good이 됩니다. 이런경우는 영상 풀이로는 해결이 안됩니다. 아니면 문제 설명에 같은 단어가 2번 적혀있으면 2번써야한다던지, 같은 단어면 중복해서 들어가도 된다던지 이러한 제약조건이 있어야 정확한 문제가 될것같네요.. test case에 따라 답이 맞을수도 있고 틀릴수도 있는 여지가 있어보입니다 이부분은 문제의 해석이 모호한거 같다는 느낌이 들어 질문을 남깁니다.