일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 해시맵
- 인텔리제이
- dfs
- 주니어
- 도커
- 명령어
- Java
- 코딩테스트
- 백엔드
- 문자열
- bfs
- 스타트업
- 구현
- HashMap
- spring boot
- spring
- 프로그래머스
- 구름LEVEL
- Linux
- IntelliJ
- 해결
- 자료구조
- 스프링부트
- 배열
- HTTP
- 이직
- 개발자
- docker
- 스프링
- 스프링 부트
- Today
- Total
목록Java (45)
마이의 개발 블로그
배경 이미 암호화된 문자열로 발급된 키값을 환경변수 등에서 가져와 프로그램에서 사용하는 경우 문자열을 기준으로 작업할 수 있도록 코드의 변경이 필요합니다. 또한 시크릿 키의 경우에도 암호화 되지 않은 문자열을 기준으로 한 번 더 암호화하는 과정을 거쳐야 하는데 보통 제시되는 예시들은 시크릿 키를 별도로 암호화하여 발급한 후에 그 암호문을 그대로 사용하는 형태로 동작하는 것이 대부분이었습니다. 그래서 약간의 수정을 거쳐 현재 프로젝트에 맞는 형태로 input과 output을 가공하여 사용하는 클래스를 작성했습니다. 이 예제는 AES 암호화 알고리즘을 사용하여 1) 암호화(encrypt), 2) 복호화(decrypt) 동작을 수행하는 코드입니다. 두 동작 모두 인수로 암호화되지 않은 String 타입 시크릿..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방식 노드끼리 연결된 네트워크가 등장한다면 대체로 BFS와 DFS를 떠올리면 된다. 최단거리를 구해야 한다면 BFS를, 완전 탐색이 필요하다면 DFS를 사용해야하는데 이 문제에서는 모든 연결점을 탐색하여 네트워크의 개수를 파악해야하므로 DFS가 필요했다. 노드의 방문여부를 체크하고 종료조건을 삽입하기 위해 isVisited 배열을 활용했다. 로직 설명 solution 메서드 - 종료조건을 기록할 int[] isVisited 배열 선언 - computers배열에서 모든 노드의 연결정보를 순차적으로 탐색하며..
구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 접근 방식 먼저 주어진 전체 수열을 set으로 저장하고, 그 다음에 주어지는 M개의 수들의 포함여부를 set에서 체크하여 포함할 경우 1을, 아닐 경우 0을 출력하면 되는 문제이다. 로직 설명 생략 작성 코드 import java.io.*; import java.util.*; class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLin..
구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 접근 방식 투포인터를 사용하여 순차적으로 탐색하며 해결할 수 있는 문제이다. 지름(D) 이하에서 제거할 개미의 수를 최소로 만든다는 건 바꿔말하면 조건에 맞는 개미 숫자를 최대한으로 보존해야함을 의미한다. 즉, 개미들의 위치가 정렬되어 저장된 배열을 포인터 두 개로 완전탐색하여 모든 경우의 수에 대해 최대 개미수를 갱신하면 되는 것이다. 포인터 begin이 고정된 상태에서 포인터 end는 조건(D 이하) 내에서 최대한 진행하여 maxAnts를 갱신한다. 조건을 벗어나면 begin을 증가시키고 다시 거기서부터 end가 탐색을 시작한다. begin과 end는 같은 곳에서 시작해 끝까지 탐색하며 b..
구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 접근 방식 1) 주어진 주식 종목의 평가 금액을 산출한 후에 2) 평가 금액이 높은 순, 주식 번호가 낮은 순으로 판매할 주식의 번호를 순서대로 출력해야하는 문제이다. 주식 번호는 주식이 제시되는 순서와 동일하다. 로직 설명 - n에 주식 개수 저장 - 가격, 주식번호 저장용 배열 double[n][2] 선언 - n만큼 반복하며: 한 줄씩 읽어 가격(price)과 주식번호(i + 1)를 저장 - Arrays.sort() 메서드에 Comparator를 재정의하여 주식 가격 기준 내림차순, 주식 번호 기준 오름차순 정렬 - 정렬된 배열을 탐색하며: 순차적으로 번호와 공백 StringBuffer에 ..