본문 바로가기

전체 글

(386)
백준 14891번 톱니바퀴 (C++) 얼핏 봤을때 삼성 문제 답게 그래프인가? 싶었는데 그냥 쌩구현이었다. 난 백준을 풀 때 웬만하면 100줄을 넘는 코드는 좋지않은 코드라고 생각하는데 무려 200줄이다. 허허,,, 반복을 잘 하면 줄일 수 있을 것 같은데 일단 내 최선이다. 아마 이 문제를 틀린 사람들의 이유는 다음과 같을 것이다. "톱니바퀴가 움직인 후" 옆의 톱니바퀴와 비교하는 것이 아니라 "톱니바퀴가 움직이기 전" 옆의 톱니바퀴와 비교하여 움직일지 말지 정하는 문제이다. 이 문제는 톱니바퀴가 고작 4개여서 노가다로 풀 수 있었지만 톱니바퀴가 5개만 되어도 힘들것이다. 뭔가 일반화된 식이 있을까 고민된다. 1. 시계방향이동 함수 구현 2. 반시계방향이동 함수 구현 3. 톱니들의 규칙에 맞는 함수 구현 #include using name..
IntelliJ에서 자동 빌드 세팅 (Hot Reload) 플러터에서는 핫리로드 기능을 기본적으로 탑재하고 있기 때문에 따로 설정할 필요가 없지만 인텔리제이는 환경 설정을 해줘야한다. 0. 만약 pom.xml에 아래 groupId, artifactId, optional 이 없을 경우 org.springframework.boot spring-boot-devtools runtime true pom.xml에 추가 1. File -> Compile-> Build project automatically 체크 2. 왼쪽 하단의 Advanced Settings 에서 Allow auto-make to start~~ 체크 완료.
Spring Boot - Bean 을 찾지 못하는 에러(Consider defining a bean of type) Autowired로 의존성을 주입했는데 Bean에서 찾을 수 없다는 뜻이다. 의존성을 회복시켜야하는데 일단 내가 스프링 초보이기도하고 구글링을 하다보니 찾은 방법을 기록한다. @EnableJpaRepositories(basePackages = {"bean에서 찾지 못하는 패키지의 위치"}) main 클래스에서 위와 같은 어노테이션을 추가하면 된다. 위 어노테이션은 JPArepository들을 활성화시켜준다. https://parkadd.tistory.com/106 [Spring Data JPA] JpaRepository를 상속받기만 하면 빈으로 등록된다? Spring Data Jpa를 사용하면서 우리가 사용하는 Repository 인터페이스는 아래와 같습니다. import org.springframewo..
Spring Boot - 연관관계 ex) 아래 창이 메인 페이지라고 해보자 게시글1 게시글2 게시글3 게시글4 [이전 페이지] /[ 다음페이지] -> 여기서 게시글을 클릭하면 게시글을 상세보기될 것이고 이전페이지, 다음페이지는 페이지가 넘어갈 것이다. 블로그라고 가정하면 게시글에 작성자: 제목: 내용: ----- 댓글: 이런식으로 구성될 것이다. 그렇다면 작성자 => User 테이블, 제목/내용 => Boad 테이블 , 댓글 => Reply 테이블을 가져온다. 여기서 만약 select * from Board where Id = 1; id가 1인 board 를 가져와라 라 하면 Java -------------------- JPA --------------------- DB Board(Id = 1) -> Join문을 날린다 user + b..
Spring Boot - JSP 사용설정 JSP란 Java Server Page 의 약자이다. HTML과 JAVA를 혼용하여 서버에서 동작하며 필요한 기능을 수행하고 수행된 데이터를 웹페이지와 함께 클라이언트로 보내준다. Spring은 기본적으로 데이터는 물론 파일 리턴까지 가능하지만 JSP파일 리턴은 본래 지원하지 않는다. 만약 RestController 였다면 저 " "안의 그대로 리턴했겠지만 컨트롤러 이기 때문에 html파일이 리턴된다. 이건 아무 문제가 없다. 기본적으로 컨트롤러에서 리턴이라하면 src/main/resorces/static/~ 이 안에서 찾아 파일을 리턴한다. 그런데 static 에서 눈치챌 수 있는데 여기는 정적 파일들만 들어갈 수 있다. HTML, 사진, TXT 등은 정적파일이다. Compile이 필요치 않다. 그러나..
Spring boot - lombok 라이브러리, builder Lombok 라이브러리에는 아주 유용한 기능들을 가지고 있다. 이클립스를 사용해 STS를 사용하는 사람들은 따로 설치를 해줘야 하지만 인텔리제이를 사용하는 사람들은 pom.xml에 추가만 해놓으면 된다. 1. @Data 이걸 보면 원래 자바 유저들은 "getter setter도 없는 그냥 빈 클래스군" 하겠지만 저 위의 @Data 는 getter setter가 숨겨져있는 것이다. 보다시피 getId를 사용할 수 있다. 2. @NoArgConstructor 이름부터 알 수 있듯이 인수가 없는 생성자가 생성된다. 3. @Builder 원래 원래 이 클래스를 생성하고 싶을 땐 id, username, password, email 모두 적어줘야한다. 만약 id를 빼고 생성하고 싶다면 오버로딩을 통해 하나의 생성..
백준 2293번 동전 1 (C++) 다이나믹 프로그래밍 문제는 정말 어려운 것 같다. 일단 모든 문제를 거의 O(N)으로 처리해야하는 엄청난 부담감과 아이디어.. 어쨌든 이 문제는 제한시간 0.5초로 매우 빡빡하다. 먼저 생각해볼 수 있는 DP 갱신은 두가지가 있다. 주어진 예제를 들면 3 10 1 2 5 먼저 DP[N] 에서 주어진 동전들로 N을 만들 수 있는 경우의 수를 저장하는 방법이 있을 것이다. DP[1] = 1 DP[2] = 2 DP[3] = 2 . . . DP[10] = 10 이 방법이 가능하다면 O(N)의 방법으로 해결이된다. 그러나 이 방법은 완벽한 점화식을 찾아낼 수 없었다. 왜냐하면 계속해서 입력값이 달라지기 때문이다. 그러니 이 방법은 틀렸다. 두번째 DP 갱신은 DP[N] 에서 N까지의 동전을 사용했을 때 몇번의 방..
백준 14499번 주사위 굴리기 (C++) 맞왜틀 때문에 정말 고생한 문제.. 사람들이 x,y 어쩌구 하는데 난 그게 문제가 아니었고 (그게 무슨 소리인지도 모르겠더라) 문제를 해석하는게 가장 중요했다. 1. 주사위가 기본적으로 어떻게 세팅되어있는지 확인해야한다. 2. 타일과 닿아있는 부분이 바뀌는데 출력은 주사위 윗부분임을 주의해야한다. 3. 주사위를 보드 바깥으로 보내면 반드시 아무 작업도 이루어지지 않아야한다. 난 3번을 그냥 출력만 안나오게 짰다가 맞왜틀의 늪에 빠져서 몇시간을 낭비했다 ㅠㅠ 가장 중요한 로직은 주사위를 동서남북으로 돌릴때 어떻게 돌려줘야할지가 문제이다. 다른 사람들은 모르겠지만 나는 전개도를 4x4 로 구성해 전개도를 계속 갱신해주었다. 이런식으로 주사위의 전개도를 갱신한다. 위는 예로 북쪽으로 이동했을 시이고 동서남북 ..