월 15,400원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
아니그램 질문입니다!
a = input() b = input() c = dict() for x in a: c[x] = c.get(x, 0) + 1 for x in b: c[x] = c.get(x, 0) -1 for val in c.values(): if val != 0: print("NO") break else: print("YES")선생님 안녕하세요!위 코드처럼 각 밸류의 값 중에 0이 아닌 값이 있다면바로 No 출력하는것도 괜찮을까요?돌려봤을 때 문제 없었습니다! 항상 감사합니다!
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
교육과정 설계 질문입니다.
need = input() n = int(input()) for i in range(n): plan = input() imt = deque(need) for x in plan: if imt[0]==x: imt.popleft() if len(imt)==0: break if len(imt)==0: print("#%d YES" %(i+1)) else: print("#%d NO" %(i+1))안녕하세요 선생님!구현해봤는데 케이스2에서 오류가 나서요 ㅠ어떤 부분이 문제가 있을까요?? 좋은 강의 감사합니다!
- 해결됨파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
input case 2번 질문드립니다.
test case 2 번의 경우 10 3 6 5 8 5 6 8 7 6 6 7 로 주어지는데주어진 수의 리스트를 정렬하면 [5 5 6 6 6 6 7 7 8 8]이 되고이분 탐색 알고리즘에 의해 해를 구하면최소 크기가 23일때[5 5 6 6],[6 6 7],[7 8 8]을 만족하므로 주어진 output인 24가 아닌 23이 정답이라고 생각했는데 어느 부분에서 잘못생각하였는지 궁금합니다.
- 해결됨파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
BFS풀이 시 높이 범위에 대한 의견공유
h를 무조건 0~99로 설정하기보다는 미리 높이의 min 값과 max값을 구한 후 min~max 범위로 for 문을 돌려주면 더 효율적인 풀이가 될 것 같습니다. from collections import deque N = int(input()) graph = [list(map(int,input().split())) for _ in range(N)] min_rain = 99999999 max_rain = -1 # 높이의 min,max 구해주기 for row in graph: min_tmp = min(row) max_tmp = max(row) if min_tmp < min_rain: min_rain = min_tmp if max_tmp > max_rain: max_rain = max_tmp dr = [1,0,-1,0] dc = [0,1,0,-1] ans = 0 for rain in range(min_tmp+1,max_rain): visited = [[0 for _ in range(N)] for _ in range(N)] cnt = 0 for rr in range(N): for cc in range(N): if visited[rr][cc] == 0 and rain < graph[rr][cc] : visited[rr][cc] = 1 q = deque() q.append((rr,cc)) while q: r,c = q.popleft() for i in range(4): nr = r + dr[i] nc = c + dc[i] if 0 <= nr < N and 0 <= nc < N and visited[nr][nc] == 0 and rain < graph[nr][nc]: visited[nr][nc] = 1 q.append((nr,nc)) cnt += 1 if cnt > ans: ans = cnt print(ans)
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
주사위 게임 질문
안녕하세요. 주사위 게임에서 if ~ elif 문에서 질문이 있습니다.이미 위에서 tmp를 sort하여 오름차순으로 정렬화한 다음 a, b, c를 맵핑하였는데, 이런 경우에서 밑에 if ~ elif문을 사용할 경우,첫 번째 elif(elif a == b or a == c:)는 이미 위에 포함되어 있는 것 아닌가요? a == c인 케이스는 이미 a == b == c를 가정해야 가능한 경우의 수라고 생각이 됩니다. 다시 말하면, 이미 오름차순 되어있는 상태에서 맵핑을 하여 a <= b <= c가 이미 기정사실화 되어있는 상황에서 왜 강의에서와 같은 방법으로 코드를 짰는지가 궁급 합니다.따라서, if a == b and b == c : money = 10000 + a * 1000 elif a == b : money = 1000 + b * 100 elif b == c : money = 1000 + c * 100else : money = c * 100이런 방법으로 구조식을 짜는 것이 맞지 않나라는 궁금증이 듭니다.혹시나 제가 생각한 것에서 오류가 있을 경우 지적해주시면 감사하겠습니다. 재밌고 유익한 강의 감사드립니다.
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
수업질문
강사님! (a[i]+a[j]+a[m]) 부분이 이해가 잘 안되는데 i,j,m이 먼저 만들어준 'a' 리스트에 자동으로 들어 가 있는 건가요?? a[i] 라는게 a리스트 안에 i번째 수 라는 뜻 맞나요??
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
섹션 6-4. 합이 같은 부분집합(DFS) 질문드립니다
DFS 함수 안에서 if L ==n:으로 하셨는데 왜 n으로 하신지 모르겠습니다! 0부터 시작해서 if L == (n-1): 로 해야 하지 않나요?if L == (n-1): <- 이렇게 하니 답도 다 맞는 거 같은데 n으로 하신 이유가 있을 것 같아서 질문드렸습니다!
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
visual studio 2022 버전
비주얼 스튜디오 2022을 이용하고 있습니다.선생님께서 강의에서 하신거랑 같은 방법으로 바탕화면에 AA로 파이썬 파일을 만드려고 하는데, 이미 같은 이름의 파일이 있다고 하면서 저장이 되지 않습니다. 아무래도 앞에서 만든 AA.py때문에 그런거 같은데, 혹시 앞에서 만든 AA.py를 지우고 해야 하나요? 아니라면 무엇이 문제인 걸까요?
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
질문드립니다.
코드에서 그냥 순열에서는 else가 들어가지 않았는데 def DFS 안에 else 구문이 왜 들어가는 것인지 궁금합니다. 제가생각한 답: 순열과 다르게 중복되면 안되기때문에\ def DFS 안의 DFS호출 부분에서 두 번째 인자에 왜 S+1이 들어가면 안되는지 궁금합니다.제가 생각한 답: 모르겠습니다.
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
if else 들여쓰기
섹션3 1번 회문 문자열 검사에서else를 if 보다 앞쪽에 썼는데 이렇게 쓰는 방식이 생소해서 질문드립니다. 보통 else 랑 if를 같은 들여쓰기를 취하는데여기서는 for else로 사용한 것 같습니다. 이렇게 사용하시는 이유와 장점에 대해서 궁금합니다.n = int(input())for i in range(n): s = input() s = s.upper() size=len(s) for j in range(size//2): if s[j] != s[-j-1]: print("#%d NO" %(i+1)) break else: print("#%d YES" %(i+1))
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
Count함수 질문
def Count(capacity): cnt=1 sum=0 for x in Music: if sum+x>capacity: cnt+=1 sum=x else: sum+=x return cnt만약Music = [1,2,3,4,5,6,7,8,9],cnt = 1capacity=23 일때,x=6 까지 진행이 되었다고치면cnt=1, sum=21 이고, x=7이면, sum+x가 capactiy보다 크니까 cnt=2가 되고sum=x가 진행되면서 x=8일때 sum+x>capacity가 7+8>23에서 7을 왜 남겨두는지 이해가 가지않습니다. 제 머리로는 (1,2,3,4,5,6,7) (8,9)1~7까지 합한게 23이 넘으니까 8부터 비교를 해야되지않나라는 생각이 박혀있는데8,9는 DVD로 만들수있는데sum+x>capacity 성립하기 위해 7도 포함해서 하는건지처음 cnt에 1을 선언하는게 그 부족한 개수를 더하신건지정확한 이유를 잘 모르겠습니다.
- 해결됨파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
안녕하세요! 문제 저작권에 대한 질문이 있습니다.
안녕하세요! 강의를 수강하고 있는 학생입니다. 현재 해당 강의를 개별로 구매해서 알고리즘 스터디를 하고 있습니다. 그런데 강의를 구매하지 않은 분들도 멤버로 있는 공개된 디스코드 채널에서 모이다보니 풀이 과정에 대한 질의응답을 하면 문제나 강의에서 알려주신 것들이 노출되서 저작권에 문제가 될 수 있지 않을까 싶어서요. 현재는 다른 분들이 볼 수 없게 비공개 스레드를 따로 열어 하고 있습니다.혹시나 저작권에 문제가 되지 않는다면 문제를 자유롭게 올리고 스터디원들끼리 공부하면 어떨까 해서 질문드립니다.감사합니다!
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
섹션 6) 부분집합 구하기
안녕하세요, 강사님. 강의 잘 듣고 있습니다! def DFS(v)의 else문에서 이해가 가지 않는 부분이 있어 질문 드립니다. import sys sys.stdin=open("input.txt", "r") def DFS(v): if v==n+1: #종료지점에 도달하면 출력! e.g. D(4) for i in range(1, n+1): if ch[i]==1: print(i, end='') print() #line by line으로 출력 else: #원소를 포함하냐 안 하냐(o,x) ch[v]=1 #o DFS(v+1) ch[v]=0 #x DFS(v+1) if __name__=="__main__": n=int(input()) ch=[0]*(n+1) #상태트리에서 원소를 포함하냐 안 하냐를 체크하는 변수 DFS(1) 1, 2, 31, 2 까지 출력이 되는 것은 이해했습니다. 1, 2 까지 출력이 완료되고 나면 else문의 마지막 DFS(v+1)까지 다 돌아간 것인데 어떻게 back할 수 있는 건지 궁금합니다.
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
혹시 제가 올린 풀이도 답이될까요?
맥북이라 채점이안되서 이렇게 질문글올립니다문제 테스트케이스의 경우 답이 맞긴한데 이게 확실히 답이되는지 잘모르겠습니다.http://colorscripter.com/s/w6VKL4t만약안된다면 혹시 어떤케이스에서 안되고 어떻게 해결해야할까요?a,k=map(int, input().split()) li = list(map(int, input().split())) m=0 n=0 cnt=0 # n == a 일때 까지 반복 while n<=a: if sum(li[m:n+1]) == k: if li[m] == li[n]: cnt+=1 n+=1 else: cnt+=1 m+=1 if m > n: break elif sum(li[m:n+1]) < k: n+=1 elif sum(li[m:n+1]) > k: m+=1 print(cnt)
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
k번쨰 큰수
for문이 저렇게 돌면같은 숫자의 카드가 여러장 있고 이중 3장을 뽑을경우 111을 뽑을 경우도 있을 수 있는데 저런 코드면 같은 숫자를 뽑을 수가 없지않나요??코드설명 좀 부탁드립니다!
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
K번째 수
안녕하세요 질문이 있습니다.for t in range(T):에서 저번 강의에서는 range(1,n+1)이었는데여기서는 문자열이기 때문에 range(T+1)이 아닌 T가 되는 것이고슬라이싱도 e번째 까지라 e가 되는 것인지 질문드립니다~
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
bfs로 풀어봤는데 뭐가 문제인지 모르겠어요
import sys from collections import deque sys.stdin = open("input.txt", 'r') dx = [-1, 0, 1, 0] dy = [0, 1, 0, -1] n = int(input()) board = [list(map(int, input().split())) for _ in range(n)] res = 0 dq = deque() 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 board[i][j] > h: dq.append((i, j)) ch[i][j] = 1 while dq: tmp = dq.popleft() for k in range(4): x = tmp[0]+dx[k] y = tmp[1]+dy[k] if 0 <= x < n and 0 <= y < n and ch[x][y] == 0 and board[x][y] > h: ch[x][y] = 1 dq.append((x, y)) cnt += 1 res = max(res, cnt) if cnt == 0: break print(res)
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
else문 10줄,11줄이 이해가 안가는 부분이 있습니다.
안녕하세요! 강의 잘 듣고 있습니다 :) 다름이 아니라 이 문제에서 궁금한 점이 있습니다.else: for i in range(n): DFS(L+1, sum+a[i])로 지정하셨더라고요! 근데 다른 문제에서는else: DFS(L+1, sum+a[L]) 이런 방식으로 푸셨는데 어떤 차이일까요?
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
비쥬얼 스튜디오 2017은 어서 다운받나요??
비쥬얼 스튜디오 2017은 어서 다운받나요??현재버젼은 좀 다른점이 있어 k번쨰 출력 셋팅부분에서 나아가질 못하네요
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
이분검색 질문있습니다.
테스트 케이스 1번값이 4가 아니라 14인가요?오름차순을 하면 다음과 같고, mid값으로 비교하면 4번만에 검색할 수 있을것 같은데 14인 이유가 궁금합니다ㅠ15 99 [73, 32, 31, 49, 94, 37, 40, 62, 78, 66, 27, 100, 99, 29, 9] ----------- left mid right list[mid] 0 7 14 49 8 11 14 78 12 13 14 99