전체 글 296

무산소 운동과 젖산

[출처] [과학 이야기] 무산소 운동이 근육을 증가시키는 이유 - 젖산(Lactate)|작성자 행열 무산소운동은 근육을 손상시켜서 회복시키는것 (x) 무산소운동은 근육의 피로도를 높이고 근육통을 만드는 행위 (o) 근육은 에너지를 내기위해 포도당+산소를 이용하는데 산소공급이 부족해서 산소없이 당을 가져오면서 젖산이 만들어진다. 그래서 이 젖산이 피로를 유발한다. 하지만 근육"통"은 젖산과의 관련은 적다. 운동후 젖산은 점점 증가하지만 근육통은 반대로 줄어든다. 따라서 피로도와는 비례하지만 근육통과는 비례하지 않음. 연구에따르면, 젖산은 혈관 공급을 유도하는 역할을 하므로 세포의 성장을 촉진시킴. 젖산 제거 방법? 젖산물질은 27도 정도의 온도에서 분해가 된다. 그래서 사우나나 유산소 운동이 효과가 좋다...

일상 포스팅 2021.04.23

[JAVA] 조합 DP로 풀기 : 백준 다리놓기

이전까지는 DFS를 이용하여 조합을 구현했다. 참고 : 2021.03.31 - [코딩테스트/Java] - [JAVA] 백준 N과 M(2), DFS 중복X 이번에는 아래 문제를 통해서 DP(Dynamic Programming, 동적프로그래밍)를 이용하여 조합을 풀어보겠다. 이번 경우에는 시간초과를 해결하기 위해 DP에서 메모이제이션 방식이 사용되었다. 다리놓기 문제이다. 왼쪽에서 N개 오른쪽에서 M개의 점이 주어진다. M개중 N개를 중복없이 뽑아야되는 문제이다. 그러면 자동으로 순서가 결정된다. 이래서 DFS를 통해 문제를 해결하려했다. 하단은 DFS를 이용한 풀이이다. 시간초과했다. 더보기 import java.util.Scanner; public class Main { public static int[..

[JAVA] 백준 스타트와 링크

www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 4명 기준일때, 1. Combination으로 4명중 2명을 뽑는다. 2. 뽑은 2명에 대하여 Sij + Sji 를 실행한다. (안뽑은 2명에 대하여 Sij + Sji를 실행한다.) 3. 두 각각의 더한값의 차(절대값)를 구한다. 4. 그 중에서 차가 가장 작은 최소값을 출력한다. 위의 예시를 일반화하면 1. Combination으로 n명중 n/2명을 뽑는다. 2. 뽑은 n/2명에 대하여 Sij + Sji를 이중for문으로 더한다...

카테고리 없음 2021.04.20

[JAVA] 백준 퇴사

dfs를 사용하려다가 탐색을 끝내는게 안됐다. 그래서 알아보니 dp를 사용하는 문제였다. 뒤에서부터 생각해보자. 최대한 많은금액 = 1일 금액 + 4일부터 받을 수 있는 최대 금액 = P[1] + dp[4] 하지만, 2일금액이나 3일 금액을 선택하는 경우도 생각해보자 dp[7] = MAX(P[7] + dp[7+2], dp[8]) => 7일금액+9일부터 받을수있는최대금액 vs 8일부터 받을수있는 최대금액 ...(if (day 7일금액+7일부터 받을수있는최대금액 vs 6일부터 받을수있는 최대금액 ... dp[2] = MAX(P[2] + dp[6], dp[3]) => 2일금액+6일부터 받을수있는최대금액 vs 3일부터 받을수있는 최대금액 dp[1] = MAX(P[1] + dp[4], dp[2]) => 1일금액+..

카테고리 없음 2021.04.20

스프링 XML --> JAVA Configuration으로 변경

1. @Configuration 2. @ComponentScan("spring.di.ui") 3. @Bean : 우리가 만든것을 컨테이너에 담아준다. NewlecDIConfig.java 를 만들어 JAVA Configuration을 한다. @ComponentScan("spring.di.ui") @Configuration public class NewlecDIConfig{ @Bean //public Exam getExam(){ //반환할때, 인터페이스로 받기 때문에 public Exam exam(){//id의 이름으로 메소드를 만드는것이 바람직 return new NewlecExam(); } } ApplicationContext context = new AnnotationConfigApplicationCo..

스프링 어노테이션을 이용한 객체생성/초기값(@Value)

소스코드로 옮기는작업을 하는것이다. Component-scan이 꼭 필요함을 알려줌. 더보기 www.youtube.com/watch?v=DNrkw3pAsAM&list=PLq8wAnVUcTFWxnsrMu5kS_jt_o8gpEiTR&index=15 www.youtube.com/watch?v=pyMzPpK4uXk&list=PLq8wAnVUcTFWxnsrMu5kS_jt_o8gpEiTR&index=16 "spring.di.ui"라는 패키지 안에 들어가서 클래스들이 있을텐데, 거기 들어가서 클래스 읽어줄래? 스캔해봐서 component가 있는지 찾아봐. 거기 컴포넌트가 있으면 객체화 시켜줘. @Component를 읽으면 안쪽에 있는 걸(Autowired부분) 읽어버림. 따라서 XML부분에서는 객체 생성하는부분을 다..

스프링 어노테이션(Annotation), @AutoWired과 @Qualifer

1. XML로 설정 XML을 매번 바꿔야되므로 귀찮으니 발전해서 소스코드를 읽게해줌. -> 따라서 java코드에서 @Component를 인식해서 객체화함 @Autowired를 통해서 Xml에 있던객체를, 코드에다가 객체를 모두 박아버리는것이다. 위 한줄만 추가해주면 된다. => 객체를 만들어놓고 "그 안을 들여다봐라" 라는 뜻 => 그래야 @Autowired를 통해서 안을들여다보고 자동으로 설정 (추가해주지 않으면 탐색을 하지 않으므로 NullPointerError 뜬다.) @Autowired : 자동으로 연결해준다는것은 문제가 될 수 있다. @Qualifer : 객체가 여러개일때 식별이 모호할경우 명시해주기 위해 사용한다. bean에 모호한 exam이 여러개 등록되어있다. id="exam"으로 하면 @..

[JAVA] 백준 로봇청소기

실패코드 더보기 어디서부턴가 꼬여버렸다. 모든 케이스를 if문으로 분류하려고 하다가 실패한것이 원인이다. import java.util.Scanner; class Main{ static int N,M,r,c,direction; static int[][] grid; public static void main(String[] args) { Scanner sc = new Scanner(System.in); N = sc.nextInt(); M = sc.nextInt(); r= sc.nextInt(); c= sc.nextInt(); direction= sc.nextInt(); grid = new int[N][M]; for(int i=0; i=0&&(grid[x-1][y]==1||grid[x-1][y]==2)){ ..

[JAVA]백준 치킨배달

위의 문제풀이에 대하여 알아보겠다. 1. 좌표값에 대하여 치킨집, 집에 대한 ArrayList를 각각 생성한다. 2. 위의 생성한 ArrayList에 Input받는 동시에 각각의 Dot(x,y)객체를 집어넣는다. 3. 백트래킹을 이용할것이다. =>Combination(DFS)을 이용하여, 각각의 집에 대하여 치킨집까지 거리를 계산해서 그중에서 최소값을 택하여 min값에 넣어준다. 해당 min값은 sum에 추가한다. ex) Calc부분과 min값 구하는 방법 설명 output currentM = Calc(person.get(i), chicken.get(output[j] - 1)); 0,1 Calc(각 사람, 치킨집(0번째&1번째 선택)) 0,2 Calc(각 사람, 치킨집(0번째&2번째 선택)) 0,3 Ca..

그래프(Graph) 코드 구현 및 이해

우선 쌍방향(무방향) 그래프에 대해 알아보겠다. 1) ArrayList안에 ArrayList할당 그래프는 ArrayList중첩으로 표현이 가능하다. 그림으로는 아래에서 그림을 참고하면되고, 코드는 이런식이다. ArrayList graph; graph = new ArrayList(); for (int i = 0; i 안쪽ArrayList Index=수신자 무방향그래프인경우 이렇게 서로 화살표가 가게끔, 이..