월 15,400원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
실전 코딩테스트
선생님, 기업 코딩테스트 응시할 때도 직접 input.txt 입력 다 넣어줘야하나요?
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
print시 %가 출력됩니다
안녕하세요 정다면체 문제에서 제 코드로 실행시키면 마지막에 %가 꼭 붙어서 나옵니다... 구글링도 해봤는데 어떤 문제가 잘못된건 지 모르겠어요...! 마지막 줄의 print(i+1, end=' ')에서 end=' ' 를 지우고 실행하면 %가 출력이 안되는데 end=' '를 붙이고 실행하면 %도 출력됩니다ㅠㅠ 컴퓨터는 맥북이고 vscode 사용하고 있습니다!!
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
이 코드랑 알려주신 코드랑 비슷한건가여??
def DFS(idx, total, time): global result if time > n: return if idx > n: return if idx == n: if result < total: result = total else: DFS(idx + t[idx], total + p[idx], time + t[idx]) DFS(idx + 1, total, time)n = int(input())t = []p = []result = 0for i in range(n): a, b = map(int, input().split()) t.append(a) p.append(b)DFS(0, 0, 0)print(result) 저는 이런식으로 만들었습니다 if idx > n: return 이 부분을 추가 하기 전에는 오류가 났는데 추가 한 후에는 오류가 없었고 결과도 100점이었습니다. 이 코드는 틀린걸까여??
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
그냥 혼자 풀었는데 다른 답안을 보니 정말 심플하게 풀엇네요!
최솟값 강의를 안듣고 풀엇엇는데 제 답을보니 정말 무식하게 풀엇다는 생각이 드네요 ㅠ 두 숫자의 합을 인덱스로 사용하는걸 생각도 못햇네요. 앞으로는 규칙성 찾는것에 시간을 좀더 투자해야겟어요. import sys #sys.stdin=open("input.txt","rt") N,M=map(int,input().split()) boxn=[] for i in range(N): boxn.append(i+1) boxm=[] for i in range(M): boxm.append(i+1) sum_box=[] sum_set=set() for i in range(N): for j in range(M): sum_box.append(boxn[i]+boxm[j]) sum_set.add(boxn[i]+boxm[j]) sum_list=list(sum_set) count_num=[] for x in range(len(sum_set)): count_num.append(sum_box.count(sum_list[x])) for x in range(len(sum_list)): sum_list[x]=(sum_list[x],count_num[x]) sum_list.sort(key=lambda x: (-x[1], x[0])) final_num=[] final_num.append(sum_list[0][0]) for x in range(len(sum_list)-1): if sum_list[0][1]==sum_list[x+1][1]: final_num.append(sum_list[x+1][0]) for i in range(len(final_num)): print(final_num[i], end=' ')
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
이 코드는 별로 인가요??
def DFS(idx): global count if idx == m: for x in a: print(x, end=' ') count += 1 print() else: for i in range(1, n + 1): if ch[i] == 0: ch[i] = 1 a[idx] = i Tree(idx + 1) for j in range(i + 1, n + 1): ch[j] = 0n, m = map(int, input().split())a = [0] * mch = [0] * (n + 1)count = 0DFS(0)print(count) 체크리스트를 만들어서 for문을 돌아서 i 를 제외한 체크를 0으로 초기화 시켜주는 방식으로 코드를 짰습니다 답은 다 맞췄습니다만 코드는 별로 일까요??
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
아나그램 질문있습니다.
안녕하세요 항상 좋은 강의 감사합니다. 질문이 두가지가 있는데요 첫번째 , 강의 7분에서 if str1==str2로 하면 안되는 이유로 c++처럼 해야한다고 하셨습니다. 그 부분이 잘 이해가 안가서 여쭈어봅니다. 실제로 코딩테스트에서는 파이썬이 제공하는 기능을 사용하면 안되거나 감점이 될까요? 두번째, 저는 해당 문제를 아래코드와 같이 작성하였는데 아래 코드는 파이썬의 기능만으로 푼 문제라 실제로 코딩테스트에서 문제가 있을까요? 문제를 풀다보면 어디까지 기능을 써도 되는지 헷갈려서 질문드립니다. 감사합니다. a=input() b=input() alist=[] blist=[] alist.sort() blist.sort() for i in a: alist.append(i) for i in b: blist.append(i) if alist==blist: print("YES") else: print("NO")
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
for문 앞 res와 score는 for문 안에서 선언했는데 지역변수 아닌가요?? 문법이 이해가 안되네요 ㅠ
res와 score는 지역변수인데 for문 밖에서 사용하는게 이해가 안되네요 ㅠ
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
c 질문
c = c + a[p1:] 에서 c를 더하는 이유가 뭘까요?
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
구현력 기르기 - 주사위 게임 에서 질문 있습니다.
안녕하세요, 선생님. 선생님의 강의를 들으면서 실력이 느는 것을 몸소 체감하고 있어 얼마나 기쁜지 모르겠습니다. 좋은 강의 정말 감사합니다. 다름이 아니라 [구현력 기르기 - 주사위 게임] 문제에서 tmp = input().split() # 문자화된 숫자로 리스트 tmp.sort() # 오름차순 정렬 a, b, c = map(int, tmp) 이렇게 풀어주셨는데요, 여기서 처음에 문자화된 숫자로 입력 받는 것 대신에 아래와 같이 처음 부터 정수형 리스트로 입력 받는 것은 어떤지 의견을 여쭙고 싶습니다. 아래의 코드는 의도가 좀 불명확한 편인가요..? tmp = list(map(int, input().split())) tmp.sort() a, b, c = tmp 항상 좋은 강의 감사드리며 몸 건강하시길 바랍니다. 감사합니다!
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
0값 출력
a.pop(0) 을 입력하기전에 첫번째에 0이 출력되는 이유가 뭘까요?
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
0값 출력
a.pop(0) 을 입력하기전에 첫번째에 0이 출력되는 이유가 뭘까요?
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
섹션 3 봉우리문제 질문이요!!
안녕하세요. 수업잘 듣고 있습니다.^^ 봉우리 문제에서 all()구문을 for문으로 짜보고 싶은데요.. *수업코드* cnt=0 for i in range(1, n+1): for j in range(1, n+1): if all(a[i][j]>a[i+dx[k]][j+dy[k]] for k in range(4)): cnt+=1 print(cnt) 이 부분을 *제코드* cnt=0 for i in range(1,n+1): for j in range(1,n+1): for k in range(4): if b[i][j] < b[i+dx[k]][j+dy[k]]: break else: cnt+=1 print(cnt) 이렇게 바꾸어 봤는데 답이 틀려서 혹시 for 문으로 작성할 수 있나요?
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
setundobuffer(None) 에러
block.setundobuffer('None')이 없으면 에러가 일어나지 않는데, 이걸 추가하면 아래와 같은 에러가 나면서 프로그램이 멈춥니다. 구글링을 해도 해결방법을 찾을 수 없어서 질문드립니다. 소스코드는 동일하나, 만약을 위해 에러코드 위에 첨부하겠습니다. 미리 감사드립니다! <소스> import turtle as t import random as r import time class Brick(): def __init__(self): self.y=0 self.x=6 self.color=r.randint(1,6) def draw_grid(block, grid): top=250 left=-150 colors=['black', 'red', 'blue', 'orange', 'yellow', 'green', 'purple', 'white'] for y in range(len(grid)): # 행 탐색 for x in range(len(grid[0])): # 열 탐색 sc_x=left+(x*20) # 사각형 객체의 하나의 크기는 20*20 sc_y=top-(y*20) block.goto(sc_x, sc_y) block.color(colors[grid[y][x]]) block.stamp() if __name__=='__main__': sc=t.Screen() sc.tracer(False) # 격자 빠르게 그림 sc.bgcolor("black") sc.setup(width=600, height=700) grid=[[0]*12 for _ in range(24)] # 게임 격자판 for i in range(24): # 벽 만들기 grid[i].insert(0,7) grid[i].append(7) grid.append([7]*14) for y in range(23, 20, -1): # 아래 세줄 랜덤으로 색깔 채우기 for x in range(1,13): grid[y][x]=r.randint(1,6) block=t.Turtle() block.penup() # 이걸 안하면 움직일 때 그림을 그림 block.speed(0) block.shape('square') block.setundobuffer(None) # 메모리 버퍼 누적 삭제 brick=Brick() grid[brick.y][brick.x]=brick.color draw_grid(block, grid) while True: sc.update() # 격자 계속 그리기 위함 if grid[brick.y+1][brick.x]==0: grid[brick.y][brick.x]=0 brick.y+=1 grid[brick.y][brick.x]=brick.color for x in grid: print(x) print() draw_grid(block, grid) time.sleep(0.1) sc.mainloop() # 이게 없으면 창이 바로 꺼져버림 <오류> Traceback (most recent call last): File "D:\IT Study\Python\파이썬 알고리즘 문제풀이(코딩테스트 대비)\Block_Game.py", line 47, in <module> draw_grid(block, grid) File "D:\IT Study\Python\파이썬 알고리즘 문제풀이(코딩테스트 대비)\Block_Game.py", line 22, in draw_grid block.stamp() File "C:\Users\modes\AppData\Local\Programs\Python\Python39\lib\turtle.py", line 3077, in stamp self.undobuffer.push(("stamp", stitem)) AttributeError: 'NoneType' object has no attribute 'push'
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
이제부터 한계인거 같습니다.
여지껏 절 버텨 오다가 중복 순열에서 정신을 못차리겠습니다. 지금 3번째 다시 듣고 있는데 계속 머리는 안드로 메다이네여... 어쩌면 좋죠?
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
정렬 알고리즘 질문
선생님, 덕분에 훌륭한 강의 잘 수강하고 있습니다. 혹시 정렬, 삽입, 버블, 선택 알고리즘은 따로 참고할만한 자료가 있을까요?
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
다익스트라 알고리즘 질문
선생님, 덕분에 훌륭한 강의 잘 수강하고 있습니다. 다름이 아니라 파이썬에서는 다익스트라 알고리즘관련 강의가 없네요ㅠ 혹시 추가적으로 다익스트라 알고리즘 관련해서 코드와 설명 자료를 제공받을 수 있을지 궁금합니다. 감사합니다.
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
코드 질문
숫자만 추출 강의에서 질문 드리겠습니다. res = res*10 + int(x) 에서 res = 0 으로 초기화가 되어 res = 0*10 + 0 으로 시작하는거 까지는 이해가 잘됩니다. 그런데 이후에 어떻게 28이 나오는지 프로세스가 잘 이해가 안되네요. res도 for문에 종속되어 문자열x가 1씩 증가할 때 마다 같이 1씩 증가하는건가요?
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
실행 파일 오류
안녕하세요 vscode에서는 실행값이 잘나오는데 배치파일을 실행하면 아래와 같이 오류가 나오면서 채점이 안됩니다 왜그런건가요??
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
Case #01에 대해서 exit_code_1이 뜨는 문제
항상 좋은 수업해주셔서 감사합니다. 덕분에 실력이 많이 늘었습니다. 다름이 아니고 코드 작성 후에 Judge(Python).exe를 돌려보니 아래와 같이 Case #01에서 exit_code_1이 떴습니다. 하지만 Case #01을 코드 상에 직접 넣어서 확인했을 때는 정답이 나왔습니다. 혹시 어떤 문제가 있는지 알려주시면 감사하겠습니다. n = int(input()) arr = [list(map(int, input().split(' '))) for _ in range(n)]\ dx = [0,0,1,-1] dy = [1,-1,0,0] ch = [[0 for _ in range(n)] for _ in range(n)] res = 0 start_height = 1000000000 end_height = 0 start = [0, 0] end = [0, 0] for k in range(n): for l in range(n): cur_height = arr[k][l] if start_height > cur_height: start_height = cur_height start = [k, l] if end_height < cur_height: end_height = cur_height end = [k, l] def DFS(x, y): global res, ch if (x, y) == (end[0], end[1]): res += 1 else: for i in range(4): after_x = x + dx[i] after_y = y + dy[i] if 0 <= after_x < n and 0 <= after_y < n: if ch[after_x][after_y] == 0 and arr[after_x][after_y] > arr[x][y]: ch[after_x][after_y] = 1 DFS(after_x, after_y) ch[after_x][after_y] = 0 ch[start[0]][start[1]] = 1 DFS(start[0], start[1]) print(res)
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
제 코드에 불필요한 부분이 있을까요??
n = input()stack = []result = ''for i in n: if i.isnumeric(): result += i else: if len(stack) == 0: stack.append(i) continue if i == '*' or i == '/': if stack[-1] == '*' or stack[-1] == '/': result += stack[-1] stack.pop() stack.append(i) elif i == '+' or i == '-': while stack and stack[-1] != '(': result += stack[-1] stack.pop() stack.append(i) elif i == '(': stack.append(i) elif i == ')': while stack and stack[-1] != '(': result += stack[-1] stack.pop() stack.pop()for x in stack[::-1]: if x != '(': result += xprint(result)