학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 생산자 소비자 문제 2에서 BoundedQueueV5 부분 Condition 분리에서 consumerCond, producerCond가 바뀐거 같아서 제보드립니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 현재 자바 버전은 다음과 같고 나오는 오류 입니다. 환경변수는 다음과 같습니다. 어떻게 해결을 하면 될까요?
1. 현재 학습 진도 몇 챕터/몇 강을 수강 중이신가요? 1-9 알고리즘 더 풀어보기 (1) 2. 어려움을 겪는 부분 문제의 조건이 모든 연산은 왼쪽에서 순서대로 이루어진다. 라고 되어있어, 연산을 해야하는 순간에 가장 최대가 될 수 있는 연산만 골라서 계산한다 라고 떠올려보았습니다. 그렇다면 해당 문제를 greedy로 생각해봐도 괜찮을까요? 아직 진도 초반이지만, 평소 코테 문제를 볼 때 어느 부분에 힌트를 잡고 어떤 알고리즘으로 풀어야하는지에 대해 감이 없는 상태라서 이런 문제들(연산이 순서대로 된다던지, 거스름돈 문제처럼 단위가 결정된다던지)은 greedy로 보면 되는지 여쭙고싶습니다. 아래는 풀이한 코드입니다. def find_max_plus_or_multiply(array): answer = array[0] for n in range(1,len(array)): if answer + array[n] > answer * array[n]: answer += array[n] else: answer *= array[n] return answer result = find_max_plus_or_multiply print("정답 = 728 현재 풀이 값 =", result([0,3,5,6,1,2,4])) print("정답 = 8820 현재 풀이 값 =", result([3,2,1,5,9,7,4])) print("정답 = 270 현재 풀이 값 =", result([1,1,1,3,3,2,5]))
1. 현재 학습 진도 몇 챕터/몇 강을 수강 중이신가요? 1챕터 7강 (공간 복잡도 판단하기) 2. 어려움을 겪는 부분 1-7 강에서 시간 복잡도 설명을 해주시면서 아래 코드들을 직접 array 길이의 값인 26을 대입하여 비교해주셨는데요, 사실상 첫 번째 코드는 이중 for문이므로 O(N^2)이고, 두 번째 코드는 for문을 각각 1개씩 썼기때문에 O(N)라 시간복잡도면에서 큰 차이가 나지않나해서요 강의에서는 직접 숫자를 대입한 후에 첫 번째 코드와 두 번째코드는 N^2에 비해 효율에 있어 차이가 없다고 말씀하셔서 어디 부분에 제가 혼동이 오는지 궁금하여 질문드립니다! for alphabet in alphabet_array: # alphabet_array 의 길이(26)만큼 아래 연산이 실행 occurrence = 0 # 대입 연산 1번 실행 for char in string: # string 의 길이만큼 아래 연산이 실행 if char == alphabet: # 비교 연산 1번 실행 occurrence += 1 # 대입 연산 1번 실행 if occurrence > max_occurrence: # 비교 연산 1번 실행 max_alphabet = alphabet # 대입 연산 1번 실행 max_occurrence = number # 대입 연산 1번 실행 for char in string: # string 의 길이만큼 아래 연산이 실행 if not char.isalpha(): # 비교 연산 1번 실행 continue arr_index = ord(char) - ord('a') # 대입 연산 1번 실행 alphabet_occurrence_list[arr_index] += 1 # 대입 연산 1번 실행 max_occurrence = 0 # 대입 연산 1번 실행 max_alphabet_index = 0 # 대입 연산 1번 실행 for index in range(len(alphabet_occurrence_list)): # alphabet_array 의 길이(26)만큼 아래 연산이 실행 alphabet_occurrence = alphabet_occurrence_list[index] # 대입 연산 1번 실행 if alphabet_occurrence > max_occurrence: # 비교 연산 1번 실행 max_occurrence = alphabet_occurrence # 대입 연산 1번 실행 max_alphabet_index = index # 대입 연산 1번 실행
안녕하세요. 과제전형을 준비중인데 강의듣고 많은걸 깨우쳤습니다. 잘 배우고 있는 중입니다. 그런데 올려주신 코드(TestController.java)를 실행했을 때 로컬 주소로 NotFound가 나더라구요. 코틀린코드로 변경하면서 공부중인데 제 코드가 문제라 생각하다가 원본 코드를 한번 돌려봤는데 같은 현상이 일어나서 혹시 더 설정해 줘야 할게 있을지 여쭤봅니다. restClient를 의심했다가 public api 가 동작하는 것을 보고 역시 라이브러리 문제는 아닌거 같더라구여.
안녕하세요! 강의 잘 듣고 있습니다 공부를 하다가 오래 고민해도 이해가 안되는 부분이 생겨서 질문 처음 남겨봅니다~ 침몰하는 타이타닉 (그리디) 문제에서 예를 들어 무게가 100 90 80 80 80 80 40 30 20 10 인 10명의 사람들을 무게 한도가 140인 구명보트에 태울때 강사님 풀이 대로면 100인 사람과 10 인 사람을 태우고 90 인 사람과 20인 사람을 태우는 방식으로 시작해서 (100,10) (90,20) (80,30) (80, 40) (80) (80) 이렇게 6개의 구명보트에 사람을 태우는데 저는 100인 사람과 40인 사람을 먼저 태워야한다고 생각을 했습니다. 뭔가 강사님 풀이대로 100인 사람과 10 인 사람을 먼저 태우면 80 인 사람이 혼자 타게 되는데 100이 40과 함께 타면 80 인 사람이 10 인 사람과 같이 탈 수 있으니 80은 혼자 타지 않아도 되서 cnt 가 최소가 되는게 아닌가 생각했습니다. ( 즉 100 일떄 140 - 100 은 40 이니 40보다 작은 수 중에서 가장 큰 값을 구하는 방식으로 풀었습니다 이중 반복문을 사용합니다 (100, 40) (90, 20) (80, 20) (80, 10) (80) (80) ) 제가 제 방식, 강사님 방식으로 5시간정도 시뮬레이션 해 본 바로는 결국 결국 cnt는 같았습니다 그런데 왜 같은지 논리적으로는 이해할 수가 없어요.. ㅠㅠ 논리적으로 왜 같은지 혹시 설명해주실 수 있으실까요..
해당 케이스에서 DVD 최소 크기가 2이면, DVD의 개수는 [1, 1], [1, 1], [1] 총 3개가 되서 결과가 틀어야 하는게 아닌가 싶습니다! 제가 짠 코드로는 id 1 채점이 통과되지 않아 질문드립니다. import java.util.Scanner; public class Main { public static int solution(int n, int m, int[] arr) { int answer = 10_001; int lt = 0; int rt = 0; for (int x : arr) { rt += x; } while (lt <= rt) { int mid = (lt + rt) / 2; int midValue = mid + 1; int sum = 0; int cnt = 1; for (int i = 0; i < n; i++) { if (sum + arr[i] > midValue) { cnt++; sum = arr[i]; } else { sum += arr[i]; } } if (cnt > m) { lt = mid + 1; } else { rt = mid - 1; } if (cnt == m && answer > midValue) { answer = midValue; } } return answer; } public static void main(String[] args) { Scanner kb = new Scanner(System.in); int n = kb.nextInt(); int m = kb.nextInt(); int[] arr = new int[n]; for (int i = 0; i < n; i++) { arr[i] = kb.nextInt(); } System.out.print(solution(n, m, arr)); } }
1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 채팅 프로그램 - 클라이언트 채팅 프로그램 - 클라이언트 강의 내용 중 inputusername 메소드를 추출할 때 static 메소드를 추출할 때 static으로 자동 적용 되었는데, 굳이 static 메소드로 사용하지 않아도 될 것 같습니다..! 또 단축키가 어쩔 땐 static으로 추출되고, 어쩔 땐 아니어서 검색해보니 토비님의 답변도 찾을 수 있었습니다! https://www.inflearn.com/community/questions/1359516/%EB%B3%80%ED%95%98%EC%A7%80-%EC%95%8A%EB%8A%94-%EC%BD%94%EB%93%9C-%EB%B6%84%EB%A6%AC%ED%95%98%EA%B8%B0-%EB%A9%94%EC%86%8C%EB%93%9C-%EC%B6%94%EC%B6%9C?srsltid=AfmBOorUZ02Kv2_l0vDv5EM2D3c5qO6mGJBncxlRZTzVmR5Ueni2JQrg
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 여기에 질문 내용을 남겨주세요. 정답이랑 똑같이 작성했는데, Item 부분에서 자꾸 오류가 뜨네요.. 어디가 잘못됐는지 모르겠습니다 ㅜ
이렇게 풀었는데요 if부분이 저도 잘모르겠는데 작동은 하긴합니다..근데 일단 영한님처럼 두개로 나눠쓴다(꼭 나눌필요는없다하셨지만..)같은 차근차근 생각이 전혀 안납니다..ㅠㅠ 어떻게저떻게 머리 굴려서 해보긴했는데 뭔가 이상한 부분은 없는지 봐주셨으면 좋겠습니다. 그리고 이런..어떻게 코드를 작성해야할지 생각이 안나는 것은 어떻게 해결을 할 수 있을까요..? package lang.Math.test; import java.util.Arrays; import java.util.Random; public class Lotto { public static void main(String[] args) { Random random = new Random(); int[] arrays = new int[6]; for(int count = 0; count < 6; count++){ int num = random.nextInt(45) + 1; if(num!=arrays[count]){ arrays[count] = num; } } System.out.println("arrays = " + Arrays.toString(arrays)); }
직장을 다니면서 자격증 시험을 준비했는데, 하필 실기 시험날 타 지역 출장이 있어 응시를 하지 못했습니다..ㅠㅠ 일 하면서 틈틈히 강의 듣고 했는데 너무 아쉽네요 ㅎ 지금 필기 유효기간도 만료되어서 내년에 다시 준비를 해야하는데, 실기 강의가 내년 5월 만료더라구요 . 혹시 필기 대비하는 강좌나 25년 대비 강좌를 계획중이신게 있으실까요? 있다면 패키지로 묶어서 구매하고 싶은데, 기존 수강생 할인이나 쿠폰같은게 있으면 좋을 것 같아서요 .(양심이 없어 죄송합니다ㅠㅠ) 그리고 필기 공부하면서 실기를 같이 병행(실기강좌중 개념을 다루는 부분)하는게 좋은지도 궁금합니다!
안녕하세요 선생님 전국 평균 분양가격(2013~2015년 8월까지)데이터는 너무 옛날거라 쓰기가 좀 그래서요 혹시 최신버전이나 공공데이터에서 다운 받아서 쓸 수 있는 정보가 있을까요?? 현재 2023 09~202408까지 데이터로 진행하고 싶은데 기존 데이터로 따로 월이랑 연도만 따로빼서 파일을 만드신건지.. 그렇다고 하면 규모구분 칼럼에서 어떤게 기준점인지 궁금해요 ...
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] notify()로 깨울 때 자바가 waitting을 runnable로 안 깨우고 blocked로 깨우는 이유가 궁금합니다. 또 blocked로 깨운 뒤에 어떻게 되는지도 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요 다름이 아니라 테스트 코드를 작성하여 결과를 확인하고 있었는데 교수님의 설명과 달리 Insert문이 계속해서 출력되고 있는 것이 의문이라 여쭤봅니다. 저는 rollback을 false로 하거나 em.flush를 따로 호출해주지 않았음에도 Insert문이 출력되는 이유가 궁금합니다. 참고로 저는 H2가 아니라 mysql 로컬 디비를 연결하여 개발 중인데 이 것이 사유가 되는걸까요? spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/testdb username: root password: /// jpa: hibernate: ddl-auto: update properties: hibernate: dialect: org.hibernate.dialect.MySQL8Dialect format_sql: true logging: level: org.hibernate.SQL: DEBUG org.hibernate.type.descriptor.sql.BasicBinder: TRACE package jpabook.jpashop.service; import jpabook.jpashop.domain.Member; import jpabook.jpashop.repository.MemberRepository; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.transaction.annotation.Transactional; import static org.junit.Assert.*; @RunWith(SpringRunner.class) @SpringBootTest @Transactional public class MemberServiceTest { //테스트니까 이런식으로 해도 됨. @Autowired MemberService memberService; @Autowired MemberRepository memberRepository; @Test public void 회원가입() throws Exception { //~~걸 실행하면 ~~한 결과가 나와야 함, 검증해라 (given when then) //given Member member = new Member(); member.setName("kim"); //when Long savedId = memberService.join(member); //then assertEquals(member, memberRepository.findOne(savedId)); } @Test(expected = IllegalStateException.class) public void 중복_회원_예외() throws Exception { //given Member member1 = new Member(); member1.setName("kim1"); Member member2 = new Member(); member2.setName("kim1"); //when memberService.join(member1); memberService.join(member2); // try{ // memberService.join(member2); //예외가 발생 // }catch (IllegalStateException e){ // return; // } //then fail("예외가 발생하야 한다"); } }
향상된 switch문 (arrow) -> 사용했는데 컴파일 에러 나는데 자바 버전 문제 때문인건가요? 컴파일에러 /judger/run/1d73365da4a4439f86329fcf18ad31c5/Main.java:24: error: : expected case '+' -> stack.push(lt+rt); ^
안녕하세요? 아래 코드에서 em.clear() 를 호출하거나 호출하지 않거나 모두 SQL 로그가 나옵니다 . SQL 로그가 나온다는 것은 DB에 갔다올 것 같은 생각이 드는데요, 그렇지만 em.clear()를 호출하지 않는 경우에는 age 가 0으로 출력되고, em.clear()를 호출하는 경우 20으로 출력됩니다. SQL Queury가 로그에 찍히더라도 영속성 컨텍스트에서 값을 조회하는 경우가 있는걸까요? int resultCount = em.createQuery("update Member m set m.age = 20") .executeUpdate(); System.out.println("resultCount = " + resultCount); em.clear(); Member mm = em.createQuery("select m from Member m where m.name = :name", MemberJ.class) .setParameter("name", "회원1") .getSingleResult(); SQL 로그가 두 경우 모두 찍힘 Hibernate: /* select m from Member m where m.name = :name */ select m1_0.id, m1_0.age, m1_0.name, m1_0.TEAM_ID from MEMBER m1_0 where m1_0.name=?
코랩에서 910 실습파일 실행 시 skimage.data_dir 경로에 이미지 파일이 없는것으로 보입니다. FileNotFoundError Traceback (most recent call last) <ipython-input-31-48f15de4b83a> in <cell line: 9>() 7 8 # skimage의 데이터 디렉토리에서 .png 또는 .jpg로 끝나는 모든 파일을 반복하여 처리합니다. ----> 9 for filename in [filename for filename in os.listdir(skimage.data_dir) if filename.endswith(".png") or filename.endswith(".jpg")]: 10 # 파일명에서 확장자를 제거하여 이미지의 이름을 얻습니다. 11 name = os.path.splitext(filename)[0] FileNotFoundError: [Errno 2] No such file or directory: '/root/.cache/scikit-image/0.24.0/data