월 15,400원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
안녕하세요!
안녕하세요. 강의 잘 보고 있습니다. 다름이 아니오라, 파일 다운로드 받았는데 PPT 자료(문제가 포함된 자료)는 어디서 볼 수 있는지 질문드릴 수 있을까요? 감사합니다.
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
4번 문제만 시간초과나는데 괜찮나여??
sys.setrecursionlimit(10**6)def DFS(x, y, w): ch[x][y] = 1 for i in range(4): a = x + dx[i] b = y + dy[i] if 0 <= a < n and 0 <= b < n and tmp[a][b] > w and ch[a][b] == 0: DFS(a, b, w)dx = [-1, 0, 1, 0]dy = [0, 1, 0, -1]n = int(input())tmp = [list(map(int, input().split())) for _ in range(n)]count = 0res = 0 for i in range(100): count = 0 ch = [[0] * n for _ in range(n)] for j in range(n): for k in range(n): if ch[j][k] == 0 and tmp[j][k] > i: count += 1 DFS(j, k, i) if res < count: res = count if count == 0: breakprint(res) 5번은 통과하는데 4번만 시간초과합니다 컴퓨터 문제일까요??
- 해결됨파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
선생님, 질문이 있습니다.
선생님, 강의 잘 듣고 있습니다. N = int(input()) arr=[] for i in range(N): inp = input() arr.append(inp) res= [] for i in range(len(arr)): flag=0 for j in range(len(arr[i])//2): if arr[i][j] == arr[i][len(arr[i])-j-1] or ord(arr[i][j])-32 == ord(arr[i][len(arr[i])-j-1]): pass else: flag=1 res.append("NO") break if flag==0: res.append("YES") for i in range(len(res)): print('#',end='') print(i,end=' ') print(res[i]) 혹시 제 코드에는 어떤 문제가 있는지 봐주실 수 있나요? 예제가 1 2 4 5 돌아가는데 3번의 가장 긴 문자열에서만 틀렸다고 나오네요..
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
질문입니다!
N,M=map(int, input().split()) ch = [0] * (N+M+1) max = 0 for i in range(1, N+1): for j in range(1, M+1): ch[i+j] += 1 for i in range(N+M+1): if ch[i] > max: max = ch[i] for i in range(N+M+1): if ch[i] == max: print(i, end=' ') 안녕하세요! 풀다가 중간에 막히는 부분이있어서 질문드립니다. 두번째 단락 for문 돌때 저는 if ch[i+j]를 max값과 비교했는데 선생님께서 cnt[i]와 max값을 비교하셨더라구요. 이미 cnt리스트가 i+j 인덱스값으로 이루어진 거고 거기서 나온 횟수만큼 +1을 다 한상태니까 Max값 비교도 cnt[i+j]로 해야되는거 아닌가요? 제가 어느부분을 놓치고 있는건지 헷갈립니다. 답변 부탁드립니다! (저는 리스트 이름을 ch라고 썼습니다 ㅎㅎ)
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
실전모의고사 강의 개설문의
실전 모의고사 강의 python버전도 출시 예정일까요?
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
격자판이 5*5에서 꼭 5개를 더해야 답이 되는건가요?
5 0 0 0 0 0 100 0 0 0 0 0 101 0 0 0 0 0 102 0 0 0 0 0 103 0 만약 이런식으로 5 *5에서 [i][i]가 아닌 그아래 대각선 4개만 더하면 406이 나오는데 이런 경우는 어떻게 해야될까요? 선생님 문제 의도가 아니실 수 있겠지만 만약 이런 식으로 나오면 어떻게 풀어야 할까요? 선생님 방법으로 구현하려니 인덱스 에러 나서 만약 이런 테케가 있다면 어떻게 해야할지 궁금합니다.
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
질문드립니다.
안녕하세요! 변수 s에 문자열을 저장 시켰는데 따로 list에 넣거나 list화 시키지 않았는데 upper나 인덱스 같은것을 사용할 수 있는건가요?? int형은 저런식으로 접근이 안되는데 str형은 좀 다른가요?
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
알고리즘 공부 관련 질문
안녕하세요 알고리즘 공부를 오늘 시작하였습니다. 파이썬이랑 C++사이를 갈등하고 있습니다. 대학교 강의는 C++인데 파이썬으로 과제나 시험응시가 가능하다고 들었습니다. 파이썬으로 공부하고 싶은데 C++이랑 파이썬이랑 개념이 많이 다른가요?
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
case 4, 5 에러
안녕하세요. 주사위 게임 알고리즘 문제 강사님께서 가르쳐주신대로 똑같이 코드 작성한 것 같은데 케이스 4,5번에서 에러가 뜹니다 ㅠ 왜그런 걸까요..? import sys #sys.stdin=open("input.txt", "rt") n=int(input()) res=0 for i in range(n): tmp=input().split() #문자로 리스트로 들어감 tmp.sort() #세번째 규칙 때문 a, b, c=map(int,tmp) #if는 가장 좋은 것 부터. 맨 위가 참이 되면 밑에 구문은 하지 않으므로 if a == b and b==c: money=10000+a*1000 elif a==b or a==c: money=10000+a*100 elif b==c: money=10000+b*100 else: money=c*100 if money>res: res=money print(res)
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
시간복잡도 질문입니다
def DFS(x, l, r): if x == k: if tmp[abs(l - r)] == 0: tmp[abs(l - r)] = 1 else: DFS(x + 1, l, r) DFS(x + 1, l + a[x], r) DFS(x + 1, l, r + a[x])k = int(input())a = list(map(int, input().split()))tmp = [0] * (sum(a) + 1)DFS(0, 0, 0)count = 0for x in tmp: if x == 0: count += 1print(count) 저는 이런식으로 리스트 만들고 그 값에 해당하는 값을 1로 만들어서 푸는 방식으로 코드를 짰습니다. 채첨 프로그램으로는 100점이 나왔지만 list보다는 set를 사용하는게 시간복잡도상 좋다고 들었습니다 인터넷 검색해보니까 set 과 list 둘다 n번쨰에 element 할당이 O(1)었습니다 제코드랑 선생님의 코드랑 비교하면 set쪽이 더 빠를까요?? 이런 문제를 풀떄는 list보다 set을 쓰는게 더 좋을까요??
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
질문은 아니고 이런 방식도 있음을 알려드립니다.
제 코드 입니다. 선생님께서 하신 방식은 제가 C++강의에서 배웠었는데 파이썬에서는 애초에 그냥 input을 전부 string 으로 받은 뒤 형변환을 하는 방식으로 처리하였습니다. N = int(input()) res=[] arr = input().split() def digit_sum(x): total=int(0) for i in range(len(x)): total+=int(x[i]) return total for i in arr: res.append(digit_sum(i)) curmax=-1 for i in range(len(res)): if curmax <=res[i]: curmax = res[i] Key=0 for key,value in enumerate(res): if curmax == value: Key=key break print(arr[Key])
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
코드 수정 문의
대표값 오류 수정 강의 잘 보았습니다. 그러면 기존 강의에 작성한 round 함수 부분 코드 수정을 어떻게 해야하는지 알려주세요~! ave=round(sum(a)/n) 이부분 입니다.
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
파이참
파이참으로 해도 괜찮지요?
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
EOFError라고 오류가 뜨는데...
여기서 왜 오류가 발생되는 걸까요ㅠㅠ
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
색션7. 단지 번호 붙이기 문제
단지 번호 붙이기 문제에서 함수 dfs(x,y)가 재귀호출로 계속 호출이 되고, return문이 없는데.. 1. return문이 없을 때는 더 이상 갈 곳이 없다 싶으면 알아서 재귀함수호출을 빠져나오는건가요?궁금합니다. 2. 풀이에서 왜 back하는 부분은 없는 건가요? 궁금합니다.
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
자릿수의 합
안녕하세요. 10.점수계산 질문입니다. 강의 잘 듣고 있습니다. 감사합니다. 듣던 중 잘 이해가 가지 않아서 질문 드립니다. 하단이 선생님의 코드인데, import sys sys.stdin=open("input.txt", "r") n=int(input()) a=list(map(int, input().split())) cnt=0 sum=0 for i in range(n): if a[i]==1: cnt=cnt+1 sum=sum+cnt else: cnt=0 print(sum) a[i] == 1일때, cnt+=1 sum+=cnt를 주면 예를 들어, n=5이고, a = [1 0 1 1 1]라고 가정했을 때 a[0] == 1, cnt = 1, sum =1 a[0] == 0, cnt = 0, sum =1 a[0] == 1, cnt = 2, sum =3 a[0] == 1, cnt = 3, sum =6 a[0] == 1, cnt = 4, sum =10 으로 계산 되지 않는건가요? 제가 어느 부분을 잘못짚고 있는지 잘 모르겠습니다. 제 코드는 n = int(input()) a = list(map(int, input().split())) count = 0 sum = 0 for i in a: if i == 1: count += 1 if a[i+1] == 1: sum += count else: count = 0 print(sum) 이건데 어느 부분이 문제인지 모르겠어요! 답변 부탁드립니다!
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
이 코드는 어떤가요??
채점기 돌려가면서 코드를 수정하여 이런 코드를 작성하였습니다. 혹시 이 코드가 잘못되거나 반례가 있을까요?? n = int(input())a = [list(map(int, input().split())) for _ in range(n)]m = int(input())for _ in range(m): s, b, c = map(int, input().split()) tmp = [0] * n for i in range(n): if b == 0: if c > n: tmp[n - c + i] = a[s - 1][i] else: tmp[i - c] = a[s - 1][i] if b == 1: t = i + c if t < n: tmp[t] = a[s - 1][i] else: tmp[t - n] = a[s - 1][i] a[s - 1] = tmps = 0e = nresult = 0for i in range(n): for j in range(s, e): result += a[i][j] if i < n // 2: s += 1 e -= 1 else: s -= 1 e += 1print(result)
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
코드 질문 있습니다.
n_list = [list(map(int, input().split())) for _ in range(7)] print(n_list) cnt = 0 for i in range(3): for j in range(7): tmp = n_list[j][i : i + 5] if tmp == tmp[::-1]: cnt += 1 for k in range(2): if n_list[i + k][j] != n_list[i + 5 - k - 1][j]: break else: cnt += 1 print(cnt) 여기 중 for k in range(2): if n_list[i + k][j] != n_list[i + 5 - k - 1][j]: break 여기까진 이해가 가는데 만약 else면 if n_list[i + k][j] != n_list[i + 5 - k - 1][j]: 이 부분에 맞춰서 else도 for k in range(2): if n_list[i + k][j] != n_list[i + 5 - k - 1][j]: break else: cnt += 1 이런식으로 되어야 논리적으로 맞지 않을까 싶은데 왜 for else로 가는지 궁금합니다.
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
질문입니다
res = list(res) 에서 list() 가 리스트로 자료형을 변환시켜주는 역할을 하는건가요?? 저는 list() 가 리스트 생성만 있는줄 알았는데 list가 생성되어서 res가 원소로 들어가버리면 2차원 구조가 되는게 아닌가해서 질문드립니다!
- 미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
질문드립니다.
섹션 2 k번째 수 문제에서 import sys T=int(input()) for t in range (T): n,s,e,k= map(int,sys.stdin.readline().split()) A=list(map(int,sys.stdin.readline().split())) for i in range (s-1,e-1): if A[i]>A[i+1]: rem=A[i] A[i]=A[i+1] A[i+1]=rem print(A[k+s-2]) 저는 이런식으로 코드를 짰는데 효율성면에서 많이 떨어지나요?