목록분류 전체보기 (718)
쌓고 쌓다
https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방법 Lv.3 단계라 다들 BFS는 잘 이해하고 있을 것이다. BFS로 풀었다. 핵심은 문자 하나를 바꿔서 탐색이 가능한 word라 하더라도 최소가 되는 비용으로 탐색이 가능할때 큐에 삽입하는 것이다. 왜냐 탐색 비용이 최소가 될 수 없는데 탐색하는 것은 최소 값을 구하는 문제에서 의미없는 탐색이기 때문이다. 전체 코드 import java.util.*; class Solution { cla..
https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방법 프로그래머스 lv.3 단계 문제라 다들 DFS는 잘 알고 있을거라... 설명은 생략하고 간단히 처음 방문하는 노드라면 DFS를 통해 쭉 연결된 모든 노드를 방문하고 answer + 1을 해주면 된다. 전체 코드 import java.util.*; class Solution { public void dfs(int[][] computers, boolean visit[], int idx) {..
https://school.programmers.co.kr/learn/courses/30/lessons/12902#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방법 n이 홀수일때는 만들 수 없다. 0가지이다. n이 2일때 위와 같이 3개가 존재한다. n이 4일때 n이 2인 타일 모양에다가 또 n이 2일때 타일들을 붙여 n이 4인 타일을 완성할 수 있다. 여기에 특수한 모양의 2가지가 더 추가된다. 여기서 n이 4일때 answer를 수식으로 구하면 f(4) = f(2) * 3 + 2가 된다. f(4)에서 길이 2를 뺀 f(2)에서 길이 2짜..
https://school.programmers.co.kr/learn/courses/30/lessons/181188# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방법 e를 기준으로 정렬을 합니다. 순차적으로 방문하며 다음 과정을 거칩니다. 다음 미사일의 s가 현재 요격한 미사일의 e보다 크거나 같다면 새로운 요격 미사일이 필요합니다. 다음 미사일의 s가 현재 요격한 미사일의 e보다 작다면 앞서 요격한 미사일(현재 요격한 미사일) 때 사용한 요격 미사일로 막을 수 있습니다. 전체 코드 #include #include #include using na..
잘 돌아가던 최신순 조회 테스트 코드가... 갑자기 실패하기 시작한다?? 반복문을 통해 게시글을 순서대로 DB에 잘 저장도 하고 있고 작성일을 출력해봐도 먼저 들어간 게시글이 더 빠른 시간으로 출력도 된다... 뭐가 문제일까? Service단의 반환으로 받은 정렬된 게시글의 정보도 한번 출력해보자. PageResponse pageResponse = posterService.getLocationPosters(newLocation.getId(), conditionRequest); PageInfo pageInfo = pageResponse.getPageInfo(); List posters = pageResponse.getResults(); //then ... for (int i = 0; i < posters...
이상하게 댓글과 같이 생성된 엔티티의 생성일이 한국 시간이 아닌 다른 시차로 적용되는 상황이 발생했다. 댓글 엔티티를 예로 들겠다. @Entity @Data public class Comment { @CreationTimestamp private LocalDateTime regDate; } 로컬에서는 @CreationTimesetamp의 시각이 현재 시각으로 잘 나왔지만 외부 서버인 AWS EC2에서 서버를 돌렸을때는 다른 시각으로 나왔다. MySQL의 타임 설정을 한국으로 맞춰 SELECT now()의 결과로 한국 시간이 잘 나왔고 우분투 환경 또한 설정하여 잘 나왔다. 그럼 @CreationTimestamp의 설명을 잘 읽어보자... 기본 타임 스탬프는 메모리를 통해 생성된다고 나와있다. source..
https://school.programmers.co.kr/learn/courses/30/lessons/42860#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방법 현재 문자를 위, 아래로 움직여 최소로 만드는 방법은 forward : A에서 B, B에서 C 방향으로 정방향으로 하나씩 이동하는 횟수 backward : A에서 Z, Z에서 Y 방향으로 하나씩 이동하는 횟수 중에서 최솟값을 사용하면 된다. 최소로 좌, 우로 이동하는 방법은 DFS를 통해 구현 했다. 이때 좌, 우로 이동할때 방향을 2번 이상 트는것은 효율적이지 않아 최솟값이 나..
로컬에서는 다른 로그를 남기고 실제 운영에서는 다른 로그를 남기길 원한다면 다음과 같이 설정하면 된다. application.properties spring.profiles.active=local 값에 자신만의 환경 이름을 적어주자. 로컬 환경이라 local로 작성해주었다. 매번 입력하기 귀찮다면 다음과 같이 실행 또는 빌드시에 설정값을 지정할 수 있다. 이제 우리가 입력한 spring.profiles의 값에 따라 logback.xml의 동작을 결정할 수 있다. [%d{yyyy-MM-dd HH:mm:ss}:%-3relative]%-5level - %msg%n springProfile name="값" : application.properties에 설정한 값으로 동작할 수 있다.