본문 바로가기

전체 글669

[백준/자바] 11003 최솟값 찾기 [백준/자바] 11003 최솟값 찾기 📌 문제 N개의 수 A1, A2, ..., AN과 L이 주어진다. Di = Ai-L+1 ~ Ai 중의 최솟값이라고 할 때, D에 저장된 수를 출력하는 프로그램을 작성하시오. 이때, i ≤ 0 인 Ai는 무시하고 D를 구해야 한다. ⚔ 입력 첫째 줄에 N과 L이 주어진다. (1 ≤ L ≤ N ≤ 5,000,000) 둘째 줄에는 N개의 수 Ai가 주어진다. (-109 ≤ Ai ≤ 109) 📣 출력 첫째 줄에 Di 를 공백으로 구분하여 순서대로 출력한다. 💎 문제분석하기 먼저 문제에 주어진 범위에 대한 해석을 해보자면 L은 슬라이딩 윈도우의 크기임을 알 수 있다. 따라서 주어지는 크기 만큼의 슬라이딩을 움직이며 최소 값을 구하는 문제이다. i가 커지면서 순차대로 최소값을 .. 2022. 11. 5.
[백준/자바] 12891 DNA 비밀번호 [백준/자바] 12891 DNA 비밀번호 📌 문제 평소에 문자열을 가지고 노는 것을 좋아하는 민호는 DNA 문자열을 알게 되었다. DNA 문자열은 모든 문자열에 등장하는 문자가 {‘A’, ‘C’, ‘G’, ‘T’} 인 문자열을 말한다. 예를 들어 “ACKA”는 DNA 문자열이 아니지만 “ACCA”는 DNA 문자열이다. 이런 신비한 문자열에 완전히 매료된 민호는 임의의 DNA 문자열을 만들고 만들어진 DNA 문자열의 부분문자열을 비밀번호로 사용하기로 마음먹었다. 하지만 민호는 이러한 방법에는 큰 문제가 있다는 것을 발견했다. 임의의 DNA 문자열의 부분문자열을 뽑았을 때 “AAAA”와 같이 보안에 취약한 비밀번호가 만들어 질 수 있기 때문이다. 그래서 민호는 부분문자열에서 등장하는 문자의 개수가 특정 개수.. 2022. 11. 5.
[독서 기록] 공학의 시간, 이순석 지음, 청림출판 공학의 시간 ★★★ 이광형 KAIST 교수 · 최진석 서강대 교수 · 김태유 서울대 교수 추천 도서 ★★★ “이 비정상적인 박사의 통찰에 미래의 노멀이 담겨 있다” _최재붕 성균관대 교수 고민 없는 기술 개발은 멈추고, 새로운 세상으로 나아가야 할 때 지속 가능성을 꿈꾸는 ETRI 디지털건축가의 인문학적 시선 지난 24년간 편성된 국가 R&D 예산, 300조 원. 어마어마한 금액을 연구개발에 쏟아부었음에도 여전히 그 성과가 미약한 이유는 무엇일까? 오랜 축적으로 지위를 획득한 선도 국가들의 ‘과학’, 막대한 인구와 자원을 무기로 빠르게 성장하는 후발 국가의 ‘기술’을 우리가 앞지를 수 있는 방법은 없는 걸까? 다가올 미래를 예측하고 새로운 세상을 설계하는 디지털건축가 이순석 박사는 이에 대해 다음과 같이.. 2022. 11. 4.
[독서 기록] 자바 Junit을 활용한 실용주의 단위 테스트, 제프 랭어, 앤디 헌트, 에이브 토마스 지음, 유동환 옮김, 길벗 자바와 JUnit을 활용한 실용주의 단위 테스트 『실용주의 프로그래머』의 앤디 헌트와 데이브 토마스가 알려주는 실용주의 단위 테스트! 클린 코드의 핵심인 단위 테스트, 어디서 어떻게 시작해야 할까? 책에서는 단위 테스트의 개념과 작성 이유부터 테스트 가이드라인, 목 객체 사용법, 자동화된 단위 테스트, 리팩토링까지 단위 테스트의 핵심 내용을 설명한다. 또한, 자바와 JUnit으로 단위 테스트를 단계별로 실습할 수 있게 구성했다. 단위 테스트가 처음이거나, 단위 테스트를 좀 더 깊게 이해하고 싶은 분들에게 추천한다. 저자 제프 랭어, 앤디 헌트, 데이브 토마스 출판 길벗 출판일 2019.06.30 단위 테스트를 작성하는 이유 - 26p assertTrue 사용예 @Test public void hasPos.. 2022. 11. 4.
[백준/자바] 1253 좋은 수 구하기 [백준/자바] 1253 좋은 수 구하기 📌 문제 N개의 수 중에서 어떤 수가 다른 수 두 개의 합으로 나타낼 수 있다면 그 수를 “좋다(GOOD)”고 한다. N개의 수가 주어지면 그 중에서 좋은 수의 개수는 몇 개인지 출력하라. 수의 위치가 다르면 값이 같아도 다른 수이다. ⚔ 입력 첫째 줄에는 수의 개수 N(1 ≤ N ≤ 2,000), 두 번째 줄에는 i번째 수를 나타내는 Ai가 N개 주어진다. (|Ai| ≤ 1,000,000,000, Ai는 정수) 📣 출력 좋은 수의 개수를 첫 번째 줄에 출력한다. 💎 문제분석하기 문제의 예시로 주어진10까지 연속된 자연수를 생각해보면 1,2를 제외한 나머지 수임을 알 수 있다. 이전의 포인터 문제 와 동일한 로직으로 접근할 수 있다. 따라서 먼저 받은 N을 배열에 .. 2022. 11. 4.