월 15,400원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
배열 길이 n 질문
강의 내 소스 코드의 경우 주어진 배열의 갯수 n을 입력만 받고, 아예 사용 자체를 안하는데요..저게 해답이라고 할 수 있는건가요?사용을 안 할거라면, n을 입력받는 이유가 따로 있는건가요 기존 다른 답변들을 봤는데도, 그냥 해당 강의 소스를 확인해보라고만 하는데 말이죠
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
문제 파일은 어디에 있나요?
문제 파일은 어디에 있나요?안보여서 강의 영상 정지시키고 풀었는데... 이 방식이 아닌것 같은데 문제 파일은 안보이네요
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
뭐가 틀린것인지 잘 모르겠습니다
n , m = map(int,input().split()) lst=[list(map(int,input().split())) for _ in range(n)] dy=[0]*(m+1) ch=[[] for _ in range(m+1)] for i in range(n): for j in range(lst[i][1],m+1): if dy[j] < dy[j-lst[i][1]]+lst[i][0] and (i not in ch[j-lst[i][1]]): ch[j]=ch[j-lst[i][1]] + [i] dy[j] =dy[j-lst[i][1]]+lst[i][0] print(max(dy))제가 짠 코드는 원래값이랑 리스트돌면서 이 시간만큼썼을때 더해지는 점수랑 비교해서큰값으로 바꿔주는것입니다.만약 리스트돌면서 이 시간만큼썼을때 더해지는 점수가 컸을때는 해당하는 문제를 푼것이 되니깐 ch에 그 index가 있는지 없는지를 비교해서 있으면은 안바꿔주고 없으면은 바꿔주는것입니다.만약에 없어서 바꿔주면은 ch에 그 index를 추가하는 방식으로 구현을했는데 왜 틀린것인지 모르겠습니다
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
이 코드 어느 부분에서 틀렸을까요??
# 레벨, 일하는중(남은시간) def dfs(level, working_time): global max_value working_time -= 1 if level >= n: # 날짜가 지났는데 아직도 일을 하는경우 if working_time >= 1: return tmp = 0 for i in range(n): if checked[i] == 1: tmp += li_input[i][1] if tmp > max_value: max_value = tmp else: # 남은 일이 없어야 일 진행가능 if working_time < 1: # 일해야 되는 시간 만큼을 인자로 넘김 working_time = li_input[level][0] checked[level] = 1 dfs(level + 1, working_time) checked[level] = 0 dfs(level + 1, working_time) n = int(input()) li_input = [] for i in range(n): li_input.append(tuple(map(int, input().split()))) checked = [0] * (n) max_value = 0 dfs(0,0) print(max_value) 문제에 적혀있는 예제 빼고 다 틀리네요.'휴가(삼성 SW역량평가 기출문제 : DFS활용)' 해당 문제 풀었습니다.다른 답으로 쉽게 풀수 있긴한데 해당 코드가 왜 틀리게 나오는지는 모르겠네요.
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
사다리타기질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.import sys def DFS(L,x,y): global cnt if a[x][y]==2: print(cnt) sys.exit(0) else: if L==0: for i in range(10): cnt=i ch[x][y]=1 DFS(L+1,x,y+i) ch[x][y]=0 else: path_count=0 next_path=-1 for j in range(3): xx=x+dx[j] yy=y+dy[j] if 0<=xx<10 and 0<=yy<10 and a[xx][yy]==1 and ch[xx][yy]==0 : next_path=j path_count+=1 #갈 수 있는 방향이 아래로 하나만 있는 경우 if path_count==1: ch[xx][yy]=1 DFS(L+1,x+dx[next_path],y+dy[next_path]) ch[xx][yy]=0 #여러 방향으로 이동이 가능 elif path_count>1: for k in range(3): xx=x+dx[k] yy=y+dy[k] if 0<=xx<10 and 0<=yy<10 and a[xx][yy]==1 and ch[xx][yy]==0 : ch[xx][yy]=1 DFS(L+1,xx,yy) ch[xx][yy]=0 if __name__=="__main__": a=[list(map(int,input().split())) for _ in range(10)] dy=[1,-1,0]#우 좌 히 dx=[0,0,1] cnt=0 ch=[[0]*10 for _ in range(10)] DFS(0,0,0) 저는 up-bottom형식으로 탐색을 했는데 출력값이 아예나오지 않습니다. 어느 부분이 잘못되었는지 알 수 있을까요? ㅠㅠ
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
격자판 최대합 질문있습니다.
이렇게 for문안에 모두 넣었습니다. 예제 답으로는 154가 뜨지만 채점 시 100점으로 뜨네요. 혹시 문제없는 코드일까요?
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
곳감(모래시계) 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 다음과 같이 코딩을 작성했는데, rotation 이 자꾸 이상하게 되네요.. 도대체 어느부분이 잘못된건지 잘 모르겠습니다 ㅜㅜn = int(input()) a = [list(map(int, input().split())) for _ in range(n)] m = int(input()) temp = [] for _ in range(m): h, t, k = map(int, input().split()) temp = a[h-1] #temp에 원래 값 저장 if t == 0: for i in range(n): #temp에서 꺼내와 index값 변경 if i-k < 0: a[h-1][i] = temp[i-k+n] else: a[h-1][i] = temp[i-k] else: for i in range(n): if i+k >= n: a[h-1][i] = temp[i+k-n] else: a[h-1][i] = temp[i+k] print(a) sum = 0 s = 0 e = n for i in range(n): for j in range(s, e): sum += a[i][j] if n//2 > i: s += 1 e -= 1 else: s -= 1 e += 1 print(sum)
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
문자열 슬라이싱
안녕하세요, 문자열 슬라이싱 관련 질문이 있습니다.문자열 a = 'abcde'가 있다고 할 때, print(a[::-1]) 을 실행하면 'edcba'로 문자열이 반대로 나오지만print(a[1:4:-1])처럼 [ : :-1]에서 시작하는 칸과 끝나는 칸에 그 어떤 수를 넣어도프린트가 되지 않습니다.유사하게 -1대신 -2, 등 음수는 되지 않는다는 것을 확인하였습니다.print(a[1:4:2])는 되는데 print(a[1:4:-1])이 되지 않는 이유는 무엇인가요?[ : : ] 에서 마지막에 음수를 넣으면 그 앞 두 칸에는 숫자를 넣을 수 없는 것인가요?
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
투포인트/슬라이딩 윈도우 관련
혹시 투포인터/슬라이딩 윈도우 부분도 강의에 있나요?자바 커리큘럼에는 보니까 있는데 파이썬에는 없어서요. 혹시 추가될 예정이 있나요? 아니면 혹시 커리큘럼속에 포함 되어있는데 제가 못찾는 건가요?감사합니다.
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
4챕터 증가수열문제
사소한거긴 한데 while문 조건이 lt<=rt인데만약에 input이 61 3 5 6 4 2이렇게 주어지면 while문이 안 끝나서요.. 차피 judge.exe 돌리면 맞게 나오긴 하는데 이런건 신경 안 쓰고 풀어도 되나요?
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
실제 비슷한 문제를 sort()함수 사용하여 푼다면
코딩테스트 실전에서 sort()를 이용하여 풀고 제출해버리면영상에서 설명해주신 방법으로 해결한 답에 비해 떨어질 확률이 높아질까요?두 가지 방법으로 문제 풀어 보았고 둘 다 한번에 성공하긴 했습니다 다만, 실전문제에서 sort()함수를 사용하지 말라는 조건이 없다면 굳이 영상에서의 방법을 써야하는지도 궁금합니다.실전코테 시 문제가 여러개 나올 수도 있고 심적 압박(?)으로 반복문을 써야한다고 알고 있어도 긴장해서 sort()쓸 것 같아서요 ㅜㅜ
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
초기화 관련 질문
강사님 안녕하세요. bottom-up 방식으로 풀때처럼 처음 다이나믹배열을 초기화할때 0행과 0열을 누적합으로 초기화 한 후 다음과 같이 풀었는데, 잘못된 방법일까요??제생각엔 재귀호출이 더 적게 되어서 효율적이라고 생각해 이렇게 풀었습니다. import sys sys.stdin = open('in5.txt','r') def dfs(y,x): if dis_arr[y][x] > 0: return dis_arr[y][x] else: dis_arr[y][x] = min(dfs(y-1,x),dfs(y,x-1)) + arr[y][x] return dis_arr[y][x] if __name__=="__main__": n = int(input()) arr = [list(map(int,input().split())) for _ in range(n)] dis_arr = [[0]*n for _ in range(n)] # 거리저장배열 dis_arr[0][0] = arr[0][0] # 첫번째 거리 저장 # 0번째 행과 열 누적합 하기 for i in range(1,n): dis_arr[0][i] = dis_arr[0][i-1] + arr[0][i] dis_arr[i][0] = dis_arr[i-1][0] + arr[i][0] print(dfs(n-1,n-1))
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
격자판 최대합 질문
안녕하세요 격자판 최대합 질문입니다.for i in range(n): sum1+=a[i][i] sum2+=a[i][n-i-1] 여기서 sum2가 이해가 가질 않습니다 ㅠ n이 5번 돌때면 n=1이고 i=0인데 그러면 a[0][0]이 되는것이아닌가요? 확인부탁드립니다 ㅠ
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
k번째 수 질문드립니다
여기서 n을 input으로 받아서 활용을 안 하고 있는 거 같은데그러면 사용자의 입력에 따라 n이랑 리스트 a의 개수가 다를 수도 있는 거 아닌가요?
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
시간 복잡도(7.소수의 개수(에라토스테네스 체))
안녕하세요해당 문제의 답을 스스로 작성해보았는데요이렇게 했더니 n의 숫자가 작을 때는 잘 작동 되지만 숫자가 커지면 작동이 안됩니다. 선생님의 코드처럼 이중 for문을 사용했는데 선생님의 코드는 잘 작동이 되고 제 코드는 잘 작동이 되지 않습니다.. 선생님의 코드는 배수를 활용해서 더 빠를 것이라고 생각이 되긴 하는데, 제 코드를 어떻게 수정하면 좋을까요n = int(input()) cnt =[0] * (n+1) count =0 for i in range(1,n+1): for j in range(2,n+1): if i % j == 0: cnt[i] = cnt[i] + 1 if cnt[i] == 1: count = count +1 print(count)
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
for문 범위 관해서 질문드립니다
섹션 2의 3번 문제에서는 첫번째 for문에 n을 넣어서 돌렸는데섹션 2의 4번 문제에서는 첫번쨰 for문에 a를 넣어서 돌렸습니다. 두 문제가 비슷한 유형인거같아서 왜 같은 방식으로 for문을 돌리지 않는지 헷갈려서 질문남깁니다
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
14번만 채점파일 없다는걸 미리 알려줬으면 좋겠어요
채점파일 찾느라 3번정도 다운로드 받고 찾아 해맸습니다.공유하는 파일에 설명을 같이 넣는다 던지 강의 끝까지 보기전에 미리 알게 했으면 더 편리 했을것 같습니다.
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
강의에서 주신 코드가 입력값이 최악인 경우(ex)10 10) 시간초과 fail받을 코드 아닌가요??
선생님이 주신 테스트 케이스는 통과하지만 문제에 주어진 조건'첫 번째 줄에 자연수 N(3<=N<=10)과 M(2<=M<=N) 이 주어집니다.'에 최악의 케이스에서는 시간 초과로 통과하지 못한다고 생각합니다. 10,10 을 넣으면 3초를 아득히 넘어버리니까요.
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
파일 입출력에 대해 질문드립니다.
안녕하세요, 파일입력과 함께 파일출력에 대해 궁금한 부분이 있어 질문드려요.input.txt 파일에서 값을 불러와 output.txt파일로 출력값을 프린트하고 싶은데 이런 경우는 코드를 어떻게 작성하면 되는가요? sys를 쓰면 보다 간단하게 출력파일도 만들어낼 수 있을 거 같아서요.
- 해결됨파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
문제 예시 2 질문
안녕하세요?문제 예시 2의 입력 예제6 0 60 60 90 60 60 60에서 왜 답이 5인지 잘 이해가 안 갑니다!문제에는 대기목록에 자기보다 위험도가 높은 환자가 없으면 자기가 진료를 받는 구조라고 하셨는데,그러면 위의 예시에서 0 번째 환자가 진료를 받을 때는당연히 2번째 아닌가 싶어서요제 코드로는 두 번째, 다섯 번째 케이스에서 오답이 나오는데요문제 설명에서 중복된 값이 있을 때 설명이 좀 이해가 잘 안 와 닿습니다.from collections import deque import sys # sys.stdin = open('input.txt','r') n, m = map(int, input().split()) p = list(map(int, input().split())) queue = deque(p) done = 0 target = queue[m] res = 0 while queue: maxx = max(queue) a = queue.popleft() if a < maxx: queue.append(a) else: done += 1 if a == target: res = done print(res) break