월 15,400원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
코드가 실행창에는 맞게 뜨는데 정답이 아니라고 합니다.
안녕하세요 선생님 강의 너무 잘 듣고 있습니다~제가 for 문을 사용해서 회문문자열 코드를 짜봤는데요실행창에는 정답이 맞게 뜨는 거 같은데 채점을 돌려보니 틀렸다고 나오네요ㅠㅠ 혹시 뭐가 문제인지 알 수 있을까요?import sys sys.stdin = open('input.txt', 'rt') n = int(input()) for i in range(n): s = input().upper() reversed_s = '' for j in s: reversed_s = j + reversed_s if s == reversed_s: print(f'#{i+1} YES') else: print(f'#{i+1} N0')
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
범위 지정은 구현 안해도 되는건가요?
알고리즘 공부는 처음이라 테스트 케이스 1<= T <= 10, a리스트에 n개 초과로 받지않도록 하는 조건들은 구현 안해도 되는건가요?
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
y=tmp[1] 왜 1부터인지 궁금합니다.
안녕하세요!!강의 너무 잘 듣고 있습니다.이해가 쏙쏙 돼서 거의 구원자 십니다.좋은 강의 만들어 주셔서 감사합니다! :)궁금한 부분은,BFS 문제 풀이에서x=tmp[0]+dx[k]y=tmp[1]+dy[k]이렇게 시작하잖아요!여기서 y는 왜 0이 아니고 1부터인지 궁금합니다!
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
DFS 함수 탈출
안녕하세요 선생님 강의 열심히 듣고 있는 학생입니다 ! 강의 듣고 나서 복습하다가 아래와 같이 풀었는데요.이 경우에 sum과 total-sum 조건을 비교하는 부분을 한 번만 통과하면 바로 DFS함수를 끝내는 방법이 있을까요?return을 해도 계속 통과를 해서 질문 드립니다 ! 감사합니다. def DFS(L, sum): global answer if L==len(nums): if sum == total-sum: answer = "YES" else: DFS(L+1, sum+nums[L]) DFS(L+1, sum) if __name__ == "__main__": n = int(input()) nums = list(map(int, input().split())) answer = "NO" total = sum(nums) DFS(0, 0) print(answer)
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
마지막 토막 부분 생각할 때.
마지막 토막을 1,2 각각 생각할 때 궁금한 점이 생겼습니다. 마지막 토막이 2일때 (dp[i-2]) 토막이 1짜리 2개를 고려하지 않아도 되는 이유는 마지막 토막이 1일때 그 부분이 고려되기 때문인가요??
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
이 코드는 맞을까요?!
이렇게 풀어도 채점에서는 다 맞는데 이렇게 풀어도 괜찮을까요?```py if __name__=="__main__" : n = int(input()) arr = [list(map(int,input().split())) for _ in range(n)] # 넓이는 신경 안써도 된다. arr.sort(key = lambda x : x[0],reverse= True) dp =[0]*n dp[0] = arr[0][1] for i in range(1,n) : for j in range(i) : # 무게가 더 무겁고 if arr[i][2]<arr[j][2] and dp[i] < dp[j]+arr[i][1] : dp[i] = dp[j]+arr[i][1] else : if dp[i] == 0 : dp[i] = arr[i][1] print(max(dp)) ```
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
오류 이유를 모르겠어요
해설을 먼저 보지 않고 풀었는데 어디서 오류가 나는지 모르겠습니다.n, m = map(int, input().split()) dy = [0] * (m + 1) res = 0 for i in range(n): a, b = map(int, input().split()) ch = [0] * (m + 1) dy[b] = a ch[b] = 1 if a > res: res = a for j in range(1, m + 1): if j != b and dy[j] != 0: if j + b < m + 1 and ch[j + b] == 0: dy[j + b] = max(dy[j + b], dy[j] + a) ch[j + b] = 1 if dy[j + b] > res: res = dy[j + b] print(res)
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
K번째 큰 수 관련 질문입니다~
안녕하세요, 강사님.K번째 큰 수 풀이를 볼 때, 중복을 방지하고 서로 다른 3가지 수를 뽑기 위해 3중 for문을 사용해서for i in range(n): for j in range(i+1, n): for m in range(j+1, n): res.add(a[i] + a[j] + a[m])이런식의 풀이가 진행된다고 해주셨는데요. 제가 이해가 안되는 부분은 이렇게 for문을 진행하면 항상 그 다음 인덱스부터 for문이 진행되니까 132나 231같은 수는 나올 수 없는 코드이지 않나 생각했던 것 같습니다. 혹시 문제가 k번째 큰 수를 출력하는 것이니까 이 부분을 고려할 필요가 없어서 그런걸까요?이것과 관련해서 답변주시면 감사하겠습니다!
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
다익스트라 알고리즘에 대해
안녕하세요 강사님. 혹시 다익스트라 알고리즘에 대해서 문제나 강의는 없는 것인가요?
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
이 문제를 경로의 문제로 보고(최단거리) 푼다면..
안녕하세요 강사님. 질문이 있어서 남깁니다. 이 문제를 최단거리. 즉 경로 탐색 문제로 보고, DFS나 BFS를 이용해서 풀어도 문제 없을까요? 최단거리 단어를 보자마자 BFS로 풀어야 겠다 라는 생각만 했습니다. 그리고 이런 류의 문제를 dp로 풀지 DFS/BFS로 풀지 어떻게 생각해야 하는지 궁금합니다.
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
j포문 거꾸로 돌리는 이유
for j in range(pt,m+1)이 아니라 for j in range(m,pt-1,-1)로 작성해야하는 지 모르겠어서 여쭤봅니다.
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
list의 유무 차이
1) arr = list(map(int, input().split())) 2) arr = map(int, input().split())) 안녕하세요 저는 구현하기전에 문제를 읽고 코드설계를 먼저 하는방식으로 공부를 하고 있습니다. 대표값문제를 접하면서 궁금한점이 입력을 받을때 1)과같이 list를 써야하는지 아니면 2)처럼 안써도 되는지 어떻게 판단할 수 있을까요? 1)과 2) 둘 다 띄어쓰기로 구분하는 숫자열을 받는것은 동일하니 list를 써야하는지 안써도 되는지 판단 기준을 못잡겠습니다. 또 현재 대표값문제에서는 2)과 같이 썼을때 어떤 점때문에 의도치않은 결과가 나오는지 궁금합니다. 질문을 정리하자면 1) 여러 값을 입력받을때 list 사용의 판단 기준 2) 대표값문제에서 2)과같이 썼을때 정답이 안나오는 이유
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
return y는 안되는 이유가 궁금합니다
안녕하세요 강사님. 질문이 있어서 남기겠습니다. 혹시 여기서 print(y)로는 7이 반환되는데 return y를 하면 왜 None이 반환되나요?
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
질문이 있습니다!
안녕하세요. 강사님. 저는 코드를 반복문이 2개 있으면 시간이 더 오래걸릴것같아 재귀함수로 풀었습니다. 푼 다음 강사님의 코드와 비교했는데 큰 차이가 없었습니다. 어떤 상황에서는 재귀로 풀고 어떤상황에서는 반복문으로 푸는건지 궁금합니다!
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
질문
a = input() b = input() li = [] for i in a: li.append(i) for i in b: li.remove(i) if len(li) == 0: print("YES") else: print("NO") 강의 보기 전에 문제만 보고 풀어봤는데 이렇게 풀어도 괜찮을까요
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
Time Limit Exceeded
해당 문제를 풀다 이해는 완벽히 했지만 오류가 나 올려주신 소스코드를 복사해 넣어도 60점만 나오는데 왜이런건가요? import sys dx=[-1, 0, 1, 0]dy=[0, 1, 0, -1]sys.setrecursionlimit(10**6)def DFS(x, y, h): ch[x][y]=1 for i in range(4): xx=x+dx[i] yy=y+dy[i] if 0<=xx<n and 0<=yy<n and ch[xx][yy]==0 and board[xx][yy]>h: DFS(xx, yy, h) if __name__=="__main__": n = int(input()) cnt = 0 res = 0 board=[list(map(int, input().split())) for _ in range(n)] for h in range(100): ch=[[0]*n for _ in range(n)] cnt=0 for i in range(n): for j in range(n): if ch[i][j]==0 and board[i][j]>h: cnt+=1 DFS(i, j, h) res=max(res, cnt) if cnt==0: break print(res)
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
안전영역(백준2468) pypy3 vs python3 차이점 질문이요
똑같은 코드인데 python3는 되고 PyPy3은 안되는지 모르겠습니다 ㅠ
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
챕터 7 토마토 bfs 질문드립니다
while q: ~ 이 부분에서 dis[xx][yy] = dis[tmp[0]][tmp[1]] + 1이 나오는데, 저는 tmp[0]이 x이고, tmp[1]이 y라 생각해서 dis[xx][yy] = dis[x][y] + 1로 넣었더니 서로 다른 답이 나왔습니다. 그래서 "dis[xx][yy] = dis[tmp[0]][tmp[1]] + 1" 와 "dis[xx][yy] = dis[x][y] + 1"가 어떤 부분에서 차이가 있는지 궁금해서 질문드리게 되었습니다 미리 답변 감사드립니다!
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
왜 2, 5, 6, 7이 출력 되는지 모르겠습니다
def DFS(v, sum): global res if v > a + 1: return elif v == a + 1: if sum > res: res = sum else: for i in range(v, a + 1): if cnt[i] == 0: cnt[i] = 1 DFS(v + b[i], sum + c[i]) cnt[i] = 0 DFS(v + 1, sum) cnt[i] = 0if __name__=="__main__": a = int(input()) b = [0] * (a + 1) c = [0] * (a + 1) for i in range(1, a + 1): d, e = map(int, input().split()) b[i] = d c[i] = e res = -2147000000 cnt = [0] * (a + 1) DFS(1, 0) print(res)2, 5, 6, 7은 DFS(v + b[i], sum + c[i]) 이 부분 때문에 출력이 안될거라 생각했는데 나왔어요어디서 잘못된 걸 까요?
- 해결됨파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
reverse()메서드 사용
def reverse(x): wordL = [] for i in str(x): wordL.append(str(i)) wordL.reverse() res = int("".join(wordL)) #int는 019 같은건 자동으로 0을 제외해서 만들어줌 return res이렇게 풀어도 될까요? .