이렇게 기존의 V 테이블을 가지고 새로운 V` 을 구하는데 while True: #delta <- 0 delta = 0 #각 s에 대해 반복: for s in range(num_states): #v <- V(s) old_value = V[s] new_value = 0 #업데이트 규칙 : V(s) = sum(pi(a|s)*sum(p(s,a)*[r + gamma*v(s')])) for a, prob_action in enumerate(policy[s]): # s', r에 대해 합산 for prob, s_, reward, _ in transitions[s][a]: new_value += prob_action * prob * (reward + GAMMA * V[s_]) V[s] = new_value #delta <- max(delta|v - V(s)|) delta = max(delta, np.abs(old_value - V[s])) V[s] = new_value 여기 실습 코드에서는 바로 V[s]을 업데이트 합니다. 예를 들면 9번 타일 상태 값에서 오른쪽 action을 해서 10번의 다음 상태 값을 가지고 계산 합니다. 그리고 9번이 상태 값이 업데이트 됩니다. 그리고 나서 10번에서 왼쪽의 action의 상태 값을 구할때 이미 업데이트된 9번의 상태 값을 가지고 상태를 업데이트 합니다. 기존 ppt 에서 설명은 기존의 V를 가지고 있다가 기존의 V를 업데이트 하지 않은 채로 새로운 V` 테이블을 계산 하고 V 을 V` 로 교체 하는것으로 표현 되고 있습니다. https://cs.stanford.edu/people/karpathy/reinforcejs/gridworld_dp.html 해당 사이트의 코드는 ppt 에서 배운 대로 V를 V` 로 교체 하는것으로 되어 있습니다. 실습 처럼 바로 값을 업데이트 하는게 맞는건지 ppt 처럼 스왑 하는게 맞는건지 어느것이 맞는건지 잘모르겠습니다.
안녕하세요, 강사님! 강의 잘 듣고 있습니다. def recur(idx, A, B, C, D, E): global answer, result, tmp if idx == N: if a <= A and b <= B and c <= C and d <= D: # 모든 영양소를 충족했다면 if answer > E: answer = min(answer, E) result = tmp[:] return return # 재료를 사용한 경우 tmp.append(idx+1) recur(idx+1, A+ingre[idx][0], B+ingre[idx][1], C+ingre[idx][2], D+ingre[idx][3], E+ingre[idx][4]) # 재료를 사용하지 않는 경우 tmp.pop() recur(idx+1, A, B, C, D, E) N = int(input()) a, b, c, d = map(int, input().split()) ingre = [list(map(int, input().split())) for _ in range(N)] answer = 999999999999999999999 tmp = [] result = [] recur(0, 0, 0, 0, 0, 0) if answer == 999999999999999999999: print(-1) print() else: print(answer) print(*result) 강의에서 작성해주신 기본 코드 기반으로 완성해보았는데, 계속해서 99%에서 틀렸습니다라고 뜹니다..! 알고리즘 로직상 이상이 없어보이는데, 제가 놓쳐서 고쳐야할 부분 알려주심 감사하겠습니다..!
해당 코드 커스텀 훅스로 만들어서 Edit이랑 Diary 컴포넌트에서 useDiary 임포트해서 const curDiaryItem = useDiary(params.id); 이 코드 넣자마자 해당 Diary 화면이 나오지않고 useEffect is not defined 만 나와요.. 코드 자세히 찾아봤는데 의미를 알수가 없어요.. ㅠ이해할 수가없어서 더이상 진도를 나갈수가 없습니다. 도와주세요 .. ㅠㅠ
[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
제가 겪은 문제는, 웹페이지 데이터 가져오는 명령어가 비쥬얼 스튜디오에서 작동을 안했다는 겁니다. 빙홈페이지 등의 웹페이지 주소를 배웠던 명령어에 기입하면,invaild 모모 등 코드 문법 오류만이 떠요.제가 쳤던 명령어는 다음과 같습니다. res = reqest.get(웹주소) [Q 뭐가 문제일까요?] 비쥬얼 스튜디오 문제일까요? 제 노트북이 많이 느려서 쥬피터 노트북은 쓰지 않았습니다. 혹은 특정 웹 주소 등의 데이터는 못가져 올까요?
안녕하세요 섹션 2 > 레이아웃 클론 강의를 수강 중에 로고에 inline-block 을 사용하신 부분이 있어서요 block 으로 해도 비슷한 노출이 되는 듯해서, 어떤 의도가 있으셨을지 또는 다른 효과가 있는지 궁금합니다 :) .logo { display: inline-block; height: 56px; margin-top: 2px; }
커스텀 훅에서 사용된 제네릭에 대해서 공부하다가 궁금한게 생겨서요. 아래 테스트 코드 에서 '+' 연산자는 'T' 및 'T' 유형에 적용할 수 없습니다. 라는 에러 코드가 발생하는 이유가 이해가 안 가서요 위 함수는 사용한다면 아래 처럼 숫자 또는 문자인 타입으로 쓰일텐데, 그러면 return 값에서 + 연산자가 number + number 또는 문자열 + 문자열로 실행되어 문제가 없을 것 같은데 에러가 뜨는 이유가 모르겠어서요 add<number>(1, 2); add<string>('1', '2'); 지피티에 질문해보니 함수 오버로드를 쓰거나 return 값에 any를 쓰라곤 하는데 잘못된 방법 같고 extends로 타입 제한을 걸어도 같은 에러가 뜹니다 function add<T extends number | string>(x: T, y: T): T { return x + y; } 제가 참고한 제네릭 레퍼런스 자료입니다 https://inpa.tistory.com/entry/TS-%F0%9F%93%98-%ED%83%80%EC%9E%85%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-Generic-%ED%83%80%EC%9E%85-%EC%A0%95%EB%B3%B5%ED%95%98%EA%B8%B0#%EC%A0%9C%EB%84%A4%EB%A6%ADgenerics_%EC%86%8C%EA%B0%9C
pycharm을 사용해서 print("Red Apple\rPine") 을 입력했더니 PineApple이 출력되는 게 아니라 Pine만 출력됩니다 구글에 검색해보니 \r 뒤의 문자만 출력해주는 탈출문자라는데 아무튼 똑같이 입력했는데도 불구하고 제 컴퓨터에서는 왜 강의 예제와 달리 Pine만 출력되나요?
안녕하세요 4:03에 super()명령어로 Class car{ string model; string year; 실행하고 난 뒤에 this.batteryCapacity = batteryCapacity는 75라는 거고 그 다음 줄에 ElectricCar~kwh 이 부분은 왜 출력하지 않고 넘어 가나요??
5:06 에서 int sum = 0; ~ switch(sum/30) { ~ 일 때 sum 이 int로 선언되었기 때문에 sum/30 이 8.xxx 가 되고, 버림돼서 8이 된다고 하셨는데, sum/30 이 몫의 나눗셈을 뜻하는 거니까 '8' 이고, int이니까 정수형 8이 역시 맞구나! 하고 넘어가는 논리로 생각하면 틀린 생각일까요?
import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; //import App from './App'; //import reportWebVitals from './reportWebVitals'; import Clock from './chapter_04/clock'; const root = ReactDOM.createRoot(document.getElementById('root')); setInterval(() => { root.render( <React.StrictMode> <Clock /> </React.StrictMode> ); }, 1000); import React from "react"; const Clock = () => { return( <div> <h1>안녕, 리엑스</h1> <h2>현재 시간: {new Date().toLocaleTimeString}</h2> </div> ) } export default Clock; Failed to compile. Module not found: Error: Can't resolve './chapter_03/Library' in 'C:\reactdeveloper\reactcoding\my-app\src' WARNING in [eslint] src\index.js Line 4:8: 'App' is defined but never used no-unused-vars Line 5:8: 'reportWebVitals' is defined but never used no-unused-vars Line 7:8: 'Library' is defined but never used no-unused-vars Failed to compile. Module not found: Error: Can't resolve './chapter_03/Library' in 'C:\reactdeveloper\reactcoding\my-app\src' WARNING in [eslint] src\index.js Line 4:8: 'App' is defined but never used no-unused-vars Line 5:8: 'reportWebVitals' is defined but never used no-unused-vars Line 7:8: 'Library' is defined but never used no-unused-vars Failed to compile. Module not found: Error: Cannot find file: 'clock.jsx' does not match the corresponding name on disk: '.\src\chapter_04\Clock.jsx'. ERROR in ./src/index.js 10:0-39 Module not found: Error: Cannot find file: 'clock.jsx' does not match the corresponding name on disk: '.\src\chapter_04\Clock.jsx'. webpack compiled with 1 error 이렇게 오류가 나고 있는데 해결 방법이 있을까요
안녕하세요 강의 잘 듣고있습니다. 강의를 듣다가 궁금한 점이, browser.ts와 http.ts 두개를 만든 점 입니다. next는 CSR과 SSR을 둘다 사용하기에, 서버에서도 데이터 처리를 하려고 http.ts를 통해 서버 데이터 처리를 하는 게 맞나요? 아래 코드는 브라우저 환경일 때만 brower.ts를 실행시키고 http.ts를 브라우저 환경이든 아니든 항상 켜져있는건가요? if (typeof window !== 'undefined') { if (process.env.NEXT_PUBLIC_API_MOCKING === 'enabled') { // eslint-disable-next-line global-require require('@/mocks/browser') } } 그렇다면 만약 react에서 사용하게 되면 CSR만 한다는 가정하에 http.ts는 필요 없게 되는건가요?
import type { Meta, StoryObj } from "@storybook/react"; import { fn } from "@storybook/test"; import TagList from "../components/TagList"; // 버튼 컴포넌트의 메타 정보를 나타냄 const meta = { // 경로 title: "List/TagList", component: TagList, parameters: { layout: "centered", }, tags: ["autodocs"], argTypes: { tagList: { control: "array", description: "태그 리스트", docs: ["tag1", "tag2", "tag3"], }, onTagClick: { action: "clicked", description: "버튼 클릭 이벤트", }, }, args: { onTagClick: fn(), }, } satisfies Meta<typeof TagList>; export default meta; type Story = StoryObj<typeof meta>; export const Default: Story = { args: { tagList: ["tag1", "tag2", "tag3"], }, }; 위와 같이 코드를 작성했을 떄, tagList의 control 부분에서 타입 에러가 발생합니다. TS2322: Type "array" is not assignable to type Control | undefined 어쨰서 undefined가 들어갈 수 있는지 알고 싶습니다.
이미지 등록시에 아래 사진과 같이 이미지가 리스트에 등록이 되긴하는데 이미지 형태가 깨져서 등록이 됩니다. 새로고침을 해야 정상적으로 반영되는 오류가 있는데 어느 코드가 잘못된지를 모르겠습니다ㅠㅠ https://github.com/jjeongdong/ImageUpload_front
[리뉴얼] 처음하는 파이썬 데이터 분석 (쉽게! 전처리, pandas, 시각화 전과정 익히기) [데이터분석/과학 Part1]
안녕하세요 강의를 잘 듣고 있는데 pandas groupby질문이 있어서 문의드립니다. 강의 내용에서는 groupby을 할 경우 이후에 sum이나 mean이 올 경우 숫자 데이터는 sum이나 mean이 수행이 되고 텍스트 데이터는 사라진다고 강의에 말씀하였는데 저같은 경우는 sum의 경우 텍스트가 단순히 합쳐지고 mean같은 경우는 아래 캡쳐 화면과 같이 에러가 발생합니다. 하지만 아래 캡쳐 화면과 같이 sum이나 mean할 항목을 명시해 주면 원하는 수행을 하게 되는데요 이럴 경우에는 앞으로는 mean이나 sum을 할 항목을 명시해주면 될까요??(파이썬 버전은 jupyter를 설치해서 3.12.4 입니다)
xgboost의 모델은 decision tree의 형식을 따르는 걸까요? n_estimators값 만큼의 반복 수행을 하며 decision tree의 가중치를 수정해나가는 방식으로 이해하였는데 맞는지 궁금합니다. 그리고 xgb가 왜 앙상블 기법인지에 대해서도 약간 이해가 잘 안되서 설명 부탁드립니다!