분류 전체보기

· Java/BOJ
문제https://www.acmicpc.net/problem/20310   풀이0과 1로 이루어진 문자열 S가 있으면, 0과 1을 절반씩 제거하는데 사전 순으로 가장 빠른 것을 구하는 문제입니다.  아이디어를 생각해보면, 사전 순이라는 것은 0이 1보다 우선이라는 얘기입니다. 다르게 말하면, 제거할 때 0은 뒤에서부터 제거하여 최대한 앞의 0을 남겨야하고, 1은 앞에서부터 제거하여 사전 순을 미루어야합니다. 전체 문자열 중 0과 1의 숫자를 구하고, 0은 뒤에서 1은 앞에서 인덱스를 찾아가며 각각의 절반에 다다르면 while문을 종료합니다. 아래는 소스 코드입니다.소스 코드import java.util.Scanner;public class Main { public static void main(St..
문제https://school.programmers.co.kr/learn/courses/30/lessons/64065 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이튜플을 구하는 문제입니다. 자료구조로 map과 list를 이용했습니다.  우선 replace와 split을 통해 문자열에서 숫자만을 뽑았습니다. 그리고 숫자들의 각각의 갯수를 세어주는데, 이때 개수가 많을수록 앞쪽에 위치한 숫자입니다.  이 로직을 구현하기 위해 map에는 숫자를 key로 숫자가 나온 횟수를 value로 설정해주었고, cnt가 많은 순서대로 list에 추가했습니다. 아래는 소스 ..
문제https://school.programmers.co.kr/learn/courses/30/lessons/72411 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이 구현 문제인데, 구현도 구현이지만 자료 구조를 얼마나 잘 이해하고 쓰는지가 중요한 문제라고 생각했습니다.  이 문제를 풀면서, 구현과 시간 초과를 내지 않기 위해 생각했던 중요한 포인트 두 가지는 조합을 구현하는 것과 Map 자료 구조를 사용하는 것이었습니다.  조합을 구현할 때에, 손님을 순차적으로 돌며 손님이 주문한 메뉴 내에서만 조합을 통해 문자열을 찾아내었습니다.  그리고 조합을 통해..
· Java/BOJ
문제https://www.acmicpc.net/problem/1138 풀이 이 문제의 포인트는 큰 숫자부터 LinkedList에 집어넣는다 라고 생각합니다. 76 1 1 1 2 0 0 :왼쪽의 자기보다 큰 수의 개수1 2 3 4 5 6 7 :idx 예제 4번입니다. 여기서 가장 큰 수인 idx=7 부터 LinkedList에 집어넣습니다. LinkedList : 7 그리고 idx 6을 집어넣는데 arr값이 0이므로 왼쪽에 큰 값이 없습니다. LinkedList : 6 7 idx 5는 arr값이 2입니다. 왼쪽에 자기보다 큰 값이 2개이므로 아래와 같습니다. LinkedList : 6 7 5  이렇게 반복해나가다보면 결국, LinkedList라는 삽입이 용이한 자료구조 특성상, 인덱스를 지정해서 Linked..
ec2 서버 상에 SpringBoot 백엔드 프로젝트와 mysql를 컨테이너로 올렸는데, 자꾸만 SpringBoot 컨테이너에서 MySQL 컨테이너를 연결하지 못하는 오류가 나타났습니다.  결론적으로 백엔드 파이프라인 구성을 잘못한 것을 파악하지 못하고, 애먼 MySQL과 SpringBoot 설정을 이리저리 삽질했습니다  혹시나 도움이 될까 기록을 정리해두고자 합니다. SpringBoot와 MySQL과의 연결은 대부분 아래 방법으로 해결이 될 것이라 생각합니다. 문제 상황 도커 백엔드 컨테이너를 실행시키면 얼마지나지 않아 자꾸 내려가는 현상이 발생했다. 분명 젠킨스에서는 빌드가 잘 되는데.. 빌드 여부와 관계 없이 백엔드 컨테이너 내부의 문제일 것 같아 로그를 출력해보았다.sudo docker logs ..
문제https://school.programmers.co.kr/learn/courses/30/lessons/67256 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이구현 문제입니다. 우선 키패드 간의 거리는 행렬 격자 상에 있다고 가정했습니다. 키패드를 누를 때마다 현재 left, right의 위치가 갱신됩니다. 그리고 다음 번호와 left, right의 거리를 비교해야합니다. 저는 각 번호를 행렬의 열과 행으로 바꾸어준 뒤,  Math.abs(r1-r2)+Math.abs(c1-c2)의 식을 통해 거리를 계산했습니다.  해당 번호를 각각의 행과 열로 표현..
동구름이
'분류 전체보기' 카테고리의 글 목록 (5 Page)