1629

편집 시간: 2022년 2월 24일 오후 2:35 코드 Algorithm/1629.py at main · Junroot/Algorithm 풀이 제곱을 이용해서 분할 정복을 했다.

2024-09-15 · 1 min · 19 words

1620

편집 시간: 2022년 2월 16일 오후 3:46 코드 Algorithm/1620.py at main · Junroot/Algorithm 풀이 해쉬 맵을 이용하면 어려움 없이 해결할 수 있다. 숫자에 해당하는 이름과 이름에 해당하는 숫자를 해쉬 맵으로 따로 저장한뒤 출력하면 된다.

2024-09-15 · 1 min · 34 words

16-장인정신

코드 작성은 설계이다. 설계는 투자 비용보다 값어치가 빨리 늘어나는 불투명한 영역이다. 진정한 장인정신으로 소프트웨어를 만들면, 무언가 예상치 못했던 작업을 할 때, 응용프로그램은 지능적으로 반응한다. 핵심기능이 아니라 자주 쓰지 않는 부가기능을 정확하게 처리하기 위해서는 훨씬 더 많은 노력이 들어간다. 일반 소비자를 위한 상용 소프트웨어를 개뱔하는 방법만이 장인정신에 투자할 수 있는 유일한 길이다.

2024-09-15 · 1 min · 51 words

16-스프링 부트 액추에이터 사용하기

액추에이터: 스프링 부트 애플리케이션의 모니터링이나 메트릭과 같은 기능을 HTTP와 JMX 엔드포인트를 통해 제공한다. 액추에이터 개요 액추에이터가 노출하는 엔드포인트를 사용하면 실행 중인 스프링 부트 애플리케이션의 내부 상태에 관한 것을 알 수 있다. 액추에이터의 기본 경로 구성하기 기본적으로 액추에이터의 모든 엔드포인트 경로에는 /actuator가 앞에 붙는다. 기본 경로를 수정하고 싶으면, management.endpoint.web.base-path 속성을 설정하여 변경할 수 있다. 액추에이터 엔드포인트의 활성화와 비활성화 엔드포인트의 노출 여부를 제어할 때는 management.emdpoints.web.exposure.include와 management.endpoints.web.exposure.exclude 속성을 사용하면 노출을 원하는 엔드포인트를 지정할 수 있다....

2024-09-15 · 5 min · 865 words

15654

편집 시간: 2022년 2월 24일 오후 2:52 코드 Algorithm/15654.py at main · Junroot/Algorithm 풀이 정렬된 수열에 대해서 dfs로 문제를 풀면된다. 현재 어떤 숫자를 썼는지 확인하기 위해 visited 배열을 만들었다.

2024-09-15 · 1 min · 29 words

15650

편집 시간: 2022년 2월 16일 오후 7:35 코드 Algorithm/15650.py at main · Junroot/Algorithm 풀이 재귀 함수를 이용해서 모든 경우의 수를 탐색하면 된다.

2024-09-15 · 1 min · 22 words

15-쏘면서 움직여라

정지한 물체는 계속해서 정지하려고 한다. 하지만 최고 속력으로 굴러가기 시작하면, 속력을 유지하는 데 별다른 힘이 들지 않는다. 페어 프로그래밍은 동료와 페어 프로그래밍 세션 일정을 잡고 나서, 어서 일을 시작하자고 서로 북도아줬기 때문에 생산성을 높일 수 있다. 장기적인 암목을 키워야 하며, 매일 조금씩 앞으로 나아가야 한다.

2024-09-15 · 1 min · 45 words

1463

편집 시간: 2022년 4월 1일 오후 4:30 코드 Algorithm/1463.py at main · Junroot/Algorithm 풀이 1에서 시작해서 x에 도착하기까지 연산의 수로 문제를 바꾸어 해결했다. BFS로 순회하면서 이미 방문한 숫자는 무시했을 때, 최초로 x에 도착했을 때의 연산의 수가 답이 된다.

2024-09-15 · 1 min · 38 words

14501

편집 시간: 2022년 4월 21일 오후 7:59 코드 Algorithm/14501.py at main · Junroot/Algorithm 풀이 인풋 범위를 보니 브루트포스로 구현해도 되지만, dp를 이용해서 풀었다. f(x): x일까지의 최대 이익 f(x) = max(consults[index][2] + f(consults[x][1] - 1), f(x-1)) consults[index][1] == x인 경우만 다른 풀이 다른 사람의 풀이를 보니 상담 완료날짜 기준이 아니라 시작날짜를 기준으로 dp로 풀면 정렬을 할 필요가 없었다. O(nlogn)을 O(n)문제로 해결할 수 있다.

2024-09-15 · 1 min · 62 words

14500

편집 시간: 2022년 4월 21일 오후 4:31 코드 Algorithm/14500.py at main · Junroot/Algorithm 풀이 모든 경우를 다 해보고 가장 큰 값을 찾는다.

2024-09-15 · 1 min · 22 words

14499

편집 시간: 2022년 4월 21일 오후 4:28 코드 Algorithm/14499.py at main · Junroot/Algorithm 풀이 구현 문제다. 주사위를 배열로 저장해두고 회전할 때의 배열이 어떻게 변하는지 직접 그려보면서 풀었다.

2024-09-15 · 1 min · 27 words

14003

오답 여부: o 편집 시간: 2022년 4월 5일 오후 7:35 코드 Algorithm/14003.py at main · Junroot/Algorithm 풀이 12015 이 때와 완전히 똑같이 잘못된 방법으로 접근했다… 풀이 방법도 언급한 문제와 같은데, 추가적으로 가장긴 수열을 출력을 해야된다. 수열을 출력하기 위해서 입력값의 각 숫자가 sequence 에 몇번째 index에 저장이 되는지 기억해두면 출력할 수 있다. 아래 링크를 참고하면 이해하기 쉽다. https://yabmoons.tistory.com/561

2024-09-15 · 1 min · 57 words

14-화성인 아키텍터를 조심하세요

위대한 사상가는 문제에 대해 생각할 때, 패턴을 보기 시작한다. 하지만 추상화를 추구하기 위해 너무 높이 올라가면, 모순이 생기고 전체만을 아우르는 의미없는 내용만 담게 된다.

2024-09-15 · 1 min · 24 words

14-클라우드 구성 관리

스프링 클라우드의 구성 서버는 애플리케이션의 모든 마이크로서비스에 대해 중앙 집중식의 구성(config)를 제공한다. 구성 서버를 사용하면 애플리케이션의 모든 구성을 한 곳에서 관리할 수 있다. 구성 공유하기 application.yml 또는 application.properties 파일 속성만 변경하기 위해 애플리케이션을 재배포해야된다. 데이터베이스 비밀번호와 같은 일부속성들은 개발자 조차 접근할 수 없도록 해야한다. 자바 시스템 속성이나 운영체제의 환경 변수에 구성 속성을 설정하는 경우 속성의 변경으로 인해 애플리케이션이 재시작되어야 한다. 데이터베이스 비밀번호와 같은 일부속성들은 개발자 조차 접근할 수 없도록 해야한다....

2024-09-15 · 6 min · 1260 words

13549

편집 시간: 2022년 2월 24일 오후 3:03 코드 Algorithm/13549.py at main · Junroot/Algorithm 풀이 bfs로 풀면되지만, 순간이동하는 경우에는 시간이 흐르지 않기 때문에 큐 대신 우선순위 큐를 사용하면 된다.

2024-09-15 · 1 min · 28 words

13460

편집 시간: 2022년 3월 1일 오후 7:24 코드 Algorithm/13460.py at main · Junroot/Algorithm 풀이 기본적으로 BFS를 사용해서 모든 경우를 탐색하면 된다. 하지만, R과 B의 이동 처리에 대한 문제가 있었다. R과 B가 나란히 붙어있으면, R과 B가 함께 굴러가야되는데 막혀있는 걸로 판별하여 한 구슬만 이동하게 되는 경우가 발생할 수 있기때문이다. 이를 해결하기 위해 한 틱에 한 칸씩 이동시키면서 앞에 가록막는 구슬이 있다면 일단 정지시키도록 했다. 이를 계속 반복하여 R과 B가 더 이상 움직이 못할 때까지 이동시키면 된다....

2024-09-15 · 1 min · 75 words

13458

편집 시간: 2022년 4월 21일 오후 4:26 코드 Algorithm/13458.py at main · Junroot/Algorithm 풀이 간단해서 따로 설명할 것이 없다. 시험장 하나씩 계산해서 합하면된다.

2024-09-15 · 1 min · 23 words

13-종이 프로토타이핑

제품이 수행할 모든 작업을 프로토타입이 할 수 없다면 쓸모없어진다. 종이 프로토타입은 소프트웨어 도구로 할 수 있는 어떤 작업보다도 엄청나게 저렴하다.

2024-09-15 · 1 min · 20 words

13-서비스 탐구하기

마이크로서비스 이해하기 단일 애플리케이션의 문제점 코드 전체를 파악하기 어렵다. 테스트가 복잡해진다. 라이브러리 간의 충돌이 생기기 쉽다. 확장 시 비효율적이다. 확장 목적으로 더 많은 서버에 애플리케이션을 배포해야 할 때는 애플리케이션의 일부가아닌 전체를 배포해야 한다. 적용할 기술을 결정할 때도 애플리케이션 전체를 고려해야 한다. 프로덕션으로 이양하기 위해 많은 노력이 필요하다. 단일 애플리케이션은 크기와 복잡도 때문에 더 엄격한 개발 프로세스와 테스트가 필요하다. 마이크로서비스 아키텍처 코드를 이해하기 쉽다. 테스트가 쉽다. 라이브러리 비호환성 문제가 생기지 않는다. 독자적으로 규모를 조정할 수 있다....

2024-09-15 · 4 min · 735 words

12865

오답 여부: o 편집 시간: 2022년 2월 24일 오후 2:29 코드 Algorithm/12865.py at main · Junroot/Algorithm Algorithm/12865-2.py at main · Junroot/Algorithm 풀이 나쁜 풀이(12865.py) dp로 풀 수 있다. f(i, w): 0번째부터 i번째까지 물건들 중에서 w까지 담을 수 있는 가방이 있을 때, 담을 수 있는 최대 가치 f(i, w) = max( f(i - 1, w - weight[i]) + value[i], f(i - 1, w) ) 하지만 재귀를 이용한 탑다운으로 풀다보니 엄청나게 느린 결과가 나왔다....

2024-09-15 · 1 min · 81 words