묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
dfs 미로탐색 질문입니다
import java.util.*; class Main { static int[] dx={-1, 0, 1, 0}; static int[] dy={0, 1, 0, -1}; static int[][] board; static int answer=0; public void DFS(int x, int y){ if(x==7 && y==7) answer++; else{ for(int i=0; i<4; i++){ int nx=x+dx[i]; int ny=y+dy[i]; if(nx>=1 && nx<=7 && ny>=1 && ny<=7 && board[nx][ny]==0){ board[nx][ny]=1; DFS(nx, ny); board[nx][ny]=0; } } } } public static void main(String[] args){ Main T = new Main(); Scanner kb = new Scanner(System.in); board=new int[8][8]; for(int i=1; i<=7; i++){ for(int j=1; j<=7; j++){ board[i][j]=kb.nextInt(); } } board[1][1]=1; T.DFS(1, 1); System.out.print(answer); } } 위 코드에서 board[nx][ny]=0; 부분이 이해가 안됩니다 강의에서는 빽할때 0으로 만들어준다고 하셨고요 다른 비슷한 강의에서는 대칭하기위에 만들어주신다고 하셨씁니다 sysout으로 일일이 찍어보니까 0으로 만들어주는 타이밍이 그때그때 다르더라구요. 7행 7열까지 가고난 이후 첫번째로 0을 대입해주던데요 아무리 재귀함수더라도 재귀함수마다 결과적으로는 board[nx][ny] =0을 거쳐야하는데 그렇지가 않습니다 한 3 4일쨰 이것만 검색하면서 하고 있는데 답답하기만 하고 이해가 안됩니다 뭔가 흐름이 이상합니다 그냥 이부분도 암기인가요? ㅠㅠ
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
jupytor notebook에서 파일 rename 및 저장
사진에서 처럼 rename을 할 경우 error표시가 됩니다, 그리고 플로피디스크 모양의 저장 버튼을 눌러도 폴더 안에 새로운 파일이 표시되지 않습니다 jupyter notebook 사용법강의의 2분 20초 내용입니다. 답변 부탁드립니다 ㅜㅜ
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
실습코드 tensorflow 2.0대로 업그레이드 안되나요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. tensorflow 2.0대로 업그레이드 안되나요? 요즘은 1.0대를 사용하지 않고 거의 다 2.0 대를 사용합니다. 콜랩으로 말고 개인환경에서 실습 코드 돌리기 어렵네요
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
저는 VScode를 한글버젼으로 사용하고 있는데...
wep.html파일에 마우스 우클릭 했을때 브라우져 여는게 안나와요ㅠ.ㅠ 브라우져 열려면 어떻게 해야 하나요?
-
미해결[구버전] 웹 애플리케이션 개발을 위한 IntelliJ IDEA 설정 (2020 ver.)
startup.bat명령어가 실행되지 않습니다ㅠㅠ
.위에 있는 사진은 직접 명령어를 실행했을 때 사진이고 아래쪽은 강의화면입니다. 폴더경로는 실수로 폴더를 이중으로 만들어서 apache-tomcat-9.0아 두번 나오게 되었습니다. startup.bat명령어 실행후 강의에서 처럼 명령어가 실행되지 않는대신 명령어 입력창만 한줄더 나오는게 반복됩니다. 도움 부탁드립니다 ㅜㅜ
-
미해결Github Action을 활용한 크롤러 웹 페이지 만들기
강의 중 노션링크를 못찾겠어요
이것부터 듣고 있어서 그런데 강의중 말하는 노션 링크가 잘 눈에 안띄이네요. 강의소개란에 잘보이도록 올려주시면 좋을것 같아요.
-
미해결윤재성의 처음 시작하는 MySQL DataBase
직함이 Staff이지만 Senior Staff는 아닌 사원들의 사원 번호를 불러오는 코드를 작성하여라
안녕하세요 수업을 듣고 연습문제들을 정리해 풀던 도중 질문이 생겨 여쭙니다! (1) select emp_no from titles where title='Staff' and emp_no not in (select emp_no from titles where title='Senior Staff'); (2) select emp_no from titles where title='Staff' and emp_no in (select emp_no from titles where title <> 'Senior Staff'); (1)과 (2)가 마지막 줄만 다른데, 제가 보기엔 같은 의미를 가지고 있는 것처럼 보이는데 결과는 서로 다르게 나오더라고요. (1)과 (2)가 무슨 차이를 가지고 있는 것인지 궁금합니다!
-
미해결Vue.js 제대로 배워볼래?(Vue.js 프로젝트 투입 일주일 전)
provide, inject 를 사용하면 굳이 props 를 사용하지 않아도 되나요?
안녕하세요? 강사님. provide, inject 를 사용하면 굳이 props 를 사용하지 않아도 되나요? provide, inject 가 훨씬 간편해 보이는데요. 어떤 차이점이 있는 지 궁금합니다. 감사합니다.
-
미해결실전! Querydsl
질문있습니다.
삭제된 글입니다
-
미해결ESXi 가상 인프라 구축과 보안 솔루션을 활용한 이상징후 탐지 모니터링
추가 패키지 설치중
please wait while the update system initializes 에서 멈췄어요
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
N:1 조회에서 inner와 fetch의 차이
아래 질문들을 보니 1:N 조회 상황에서 (team에서 member join 상황)에서 inner join과 fetch inner join의 차이인거 같다는 생각이 들었는데요, (fetch join에서 lazy를 방지할 수 있다는) N:1 상황에서는 inner join을 사용했을때 lazy 없이 소위 한방 query가 나가고 inner join과 fetch join의 차이가 없는 것이 아닌가요? 혹시 두 join의 차이가 있다면 어떤 것이 있는지 질문 드립니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링통합테스트시.. IllegalStateException
h2 데이터에는 delete from member 로 데이터 다 삭제한 상태인데 package hello.hellospring.service;import hello.hellospring.domain.Member;import hello.hellospring.repository.MemberRepository;import org.assertj.core.api.Assertions;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.transaction.annotation.Transactional;import java.util.ArrayList;import java.util.List;import static org.junit.jupiter.api.Assertions.assertThrows;@SpringBootTest@Transactionalclass MemberServiceIntegrationTest { //@SpringBootTest 스프링 컨테이너와 테스트를 연결해줌. //@Transactional test 함수 하나를 실행 후 commit까지 하지 않고 rollback을 시켜준다. 따라서 store.clear()같은 게 필요 없다. @Autowired MemberService memberService; @Autowired MemberRepository memberRepository; /*@BeforeEach void beforeEach() { memberRepository = new MemoryMemberRepository(); memberService = new MemberService(memberRepository); 는 순수 java의 테스트여서 Spring 통합테스트에서는 @BeforeEach를 사용하지 않고 @Autowired를 통해 객체를 끌어다 쓴다. 단, 생성자를 만들어도 되지만 테스트는 객체를 다른데서 이어서 쓸 게 아니기 때문에 편하게 @Autowired만으로 써도 된다. 참고. 현재 MemberRepository는 new JdbcMemberRepository(dataSource); 로 등록되어 있다. }*/ @Test void join() { Member member = new Member(); member.setName("hi2"); Long savedId = memberService.join(member); Member savedMember = memberRepository.findById(savedId).get(); Assertions.assertThat(savedMember.getName()).isEqualTo(member.getName()); } @Test void validDuplicateMember() { Member member1 = new Member(); member1.setName("hi123"); Member member2 = new Member(); member2.setName("hi123"); memberService.join(member1); IllegalStateException e = assertThrows(IllegalStateException.class, () -> { memberService.join(member2); }); Assertions.assertThat(e.getMessage()).isEqualTo("이미존재하는 회원입니다"); } 를 실행하면 모든 함수에서 이미존재하는 회원이라고 뜹니다(다른 Test코드 포함) 2021-05-29 11:42:58.502 INFO 14008 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2021-05-29 11:42:58.785 INFO 14008 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. 2021-05-29 11:42:58.806 INFO 14008 --- [ main] o.s.t.c.transaction.TransactionContext : Began transaction (1) for test context [DefaultTestContext@45815ffc testClass \ 생략.. 2021-05-29 11:42:59.813 INFO 14008 --- [ main] o.s.t.c.transaction.TransactionContext : Rolled back transaction for test: [DefaultTestContext@45815ffc testClass = 생략.. ApplicationEventsTestExecutionListener.recordApplicationEvents' -> false]] java.lang.IllegalStateException: 이미존재하는회원입니다 at hello.hellospring.service.MemberService.lambda$validDuplicateMember$0(MemberService.java:24) at java.base/java.util.Optional.ifPresent(Optional.java:183) at hello.hellospring.service.MemberService.validDuplicateMember(MemberService.java:23) at hello.hellospring.service.MemberService.join(MemberService.java:17) at hello.hellospring.service.MemberServiceIntegrationTest.validDuplicateMember(MemberServiceIntegrationTest.java:48) <..생략..> at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) 이라고 나옵니다. 순수JDBC 테스트코드에선 정상작동하는데 이것저것해보다가 안돼서 질문남깁니다.. 죄송합니다 :( JDBC순수 test코드: package hello.hellospring.service;import hello.hellospring.domain.Member;import hello.hellospring.repository.MemberRepository;import hello.hellospring.repository.MemoryMemberRepository;import org.assertj.core.api.Assertions;import org.junit.jupiter.api.AfterEach;import static org.junit.jupiter.api.Assertions.*;import org.junit.jupiter.api.BeforeEach;import org.junit.jupiter.api.Test;import java.util.ArrayList;import java.util.List;import java.util.Optional;class MemberServiceTest { MemberService memberService; MemoryMemberRepository memberRepository; @BeforeEach void beforeEach() { memberRepository = new MemoryMemberRepository(); memberService = new MemberService(memberRepository); } @AfterEach void afterEach() { memberRepository.clearStore(); } @Test void join() { Member member = new Member(); member.setName("hi"); Long savedId = memberService.join(member); Member savedMember = memberRepository.findById(savedId).get(); Assertions.assertThat(savedMember.getName()).isEqualTo(member.getName()); } @Test void validDuplicateMember() { Member member1 = new Member(); member1.setName("hi"); Member member2 = new Member(); member2.setName("hi"); memberService.join(member1); IllegalStateException e = assertThrows(IllegalStateException.class, () -> { memberService.join(member2); }); Assertions.assertThat(e.getMessage()).isEqualTo("이미존재하는회원입니다"); } MemberService 코드 : package hello.hellospring.service;import hello.hellospring.domain.Member;import hello.hellospring.repository.MemberRepository;import java.util.List;import java.util.Optional;public class MemberService { MemberRepository memberRepository; public MemberService(MemberRepository memberRepository) { this.memberRepository = memberRepository; } public Long join(Member member) { validDuplicateMember(member);//name중복확인 memberRepository.save(member); return member.getId(); } private void validDuplicateMember(Member member) { memberRepository.findByName(member.getName()).ifPresent(m -> { throw new IllegalStateException("이미존재하는회원입니다"); }); }
-
미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
no nodes available to schedule pods 에러는 어떤 경우 발생하나요?
no nodes available to schedule pods 에러는 어떤 경우 발생하나요? nfs 구성 후 httpd 서비스를 올리는 과정에 pending 이 발생하여, describe 를 확인하였더니 Warning 메시지가 발생합니다. 아마 이 때문에 서비스가 정상적으로 올라오지 못하는 것 같습니다. 이런 경우 어떤 식으로 진행하는 것이 좋을까요?
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
split 코드 오류
import requests from bs4 import BeautifulSoup res = requests.get('https://davelee-fun.github.io/blog/crawl_test') soup = BeautifulSoup(res.content,'html.parser') section = soup.find('ul',id='dev_course_list') titles=section.find_all('li','course') for title in titles: print(title.get_text.split('[')) 안녕하세요~ 강의 잘 보고 있습니다. 상기와 같이 코드 입력시 AttributeError: 'function' object has no attribute 'split' 같은 오류가 발생합니다. 구글링 해보면 split 대상이 객체가 아니어서 그렇다는데... 잘 이해가 안되어 질문드립니다.어떤 문제일까요?!
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
안녕하세요 강사님
강의보기전에 코드를 먼저 짜봤는데 강사님처럼 for문으로 하는게 더 좋은가요? import sys sys.stdin = open("input.txt","r") from collections import deque n, m = map(int, input().split()) cnt = 0 qList = list(range(1,n+1)) qList = deque(qList) while True: if len(qList)==1: break if cnt == m-1: qList.popleft() cnt = 0 else: qList.append(qList.popleft()) cnt += 1 print(qList[0])
-
미해결[딥러닝 전문가 과정 DL1101] 딥러닝을 위한 파이썬 레벨1
Slack 커뮤니티 가입 신청 관련 질문입니다
저는 깃허브 아이디로 인프런에 가입을 했습니다. 그러면 인프런에 가입된 아이디를 입력하는 칸에 제 깃허브 아이디를 쓰면 되나요? 초대 메일은 slack에 사용될 이메일 주소를 입력하는 칸에 쓴 메일로 오는 게 맞나요? 감사합니다
-
해결됨[NarP Series] MVC 프레임워크는 내 손에 [나프2탄]
06_JDBC를 MyBatis로 변경하기(1) 부분 에러
-06_JDBC를 MyBatis로 변경하기(1)듣고 실행하니 회원보기는 잘 되는데 insert가 안됩니다. db는 오라클을 사용하고 있어서 시퀀스부분을 오라클에 맞게 수정한다고 했는데 계속 에러가 나서요. 한번 검토 부탁드립니다.
-
미해결반응형 웹사이트 포트폴리오(App Official Landing Website)
블라게 이용방법
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. 유익한 강의 잘 듣고 있습니다. 선생님 질문이 하나 있습니다. 블라겟에서 점선으로 같은 tab부분을 이어주는 기능을 어떻게 사용하는지 알고 싶습니다. beautify 기능인것 같은데 사용을 못하고 있습니다. 좋은 기능을 사용하고 싶어서 글을 올립니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Postman 으로 테스트 실행하는 법
매 강의때마다 코드 로직짜고나서 테스트 실행을 Postman 으로 하시는데 Postman 사용법을 하나도 모르겠습니다. 설치해놓고 따라하지를 못하고있네요 여기 초기화면에서 어떻게 뭘 설정해야 강사님처럼 테스트를 실행 할 수 있을까요?" 여기서도 인텔리제이 처럼 프로젝트를 하나 만들어야하는지 워크스페이스를 만들어야하는지 뭘 하라는건지 잘 모르겠습니다. 여기서 어디로 들어가야 합니까?
-
미해결홍정모의 따라하며 배우는 C언어
1차원을 2,3차원으로 사용하는 이유
1차원 동적할당 한 것을 2,3차원처럼 사용하는 이유가 뭔가요? 밑에 사진처럼 동적할당 2번하는것과 차이가 있나요?