https://school.programmers.co.kr/learn/courses/30/lessons/160586 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제이해 휴대폰 자판의 개수가 1개부터 최대 100개까지 있을 수 있다. 같은 문자가 자판 전체에 여러번 할당된 경우도 있다. 키 하나에 같은 문자가 여러번 할당된 경우도 있다. 문자가 할당되지 않았을 수도 있다. 이 휴대폰 자판을 이용해서 문자열을 입력할 때 키를 최소 몇번 입력해야 이 문자열을 작성할 수 있을까? 문제풀이 각 키는 target마다 재활용된다. 그리고 각 알파벳마다 최소횟수로 ..
https://school.programmers.co.kr/learn/courses/30/lessons/161989 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제이해 길이가 n미터인 벽이 있다. ⇒ 벽은 가로로 이뤄져있다. 길이가 가로로 m미터인 롤러가 있다. 칠해야할 벽인 section으로 주어진다. 이때 각 세션은 1x1미터 크기다. 안칠해도 될 곳, 이미 칠해져 있는 곳 모두 덧칠이 가능하다. 최소한의 작업 횟수를 구하자. 문제풀이 최대한 롤러가 칠할 수 있는 크기 안쪽으로 section이 많이 들어가야 한다. 그래야 최소 횟수로 작업이 가능하..
https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 문제이해 괄호를 적절히 쳐서 주어진 식의 값을 최소로 만드려고 한다. 문제풀이 최소로 만들기 위해서는 값을 더하는게 우선되면 최소값이 된다. 그럼 더하기 연산을 어떻게 먼저할까?? 다행인것은 해당문제에 연산자가 빼기와 더하기 밖에 없다는 것이다. 그래서 '-' 문자로 split을 진행하면 더하기 연산에 괄호를 친 효과를 할 수 있다. 그 다음 '+'문자가 있는 식에 대해 합을 모두 구하고 연..
https://www.acmicpc.net/problem/20300 20300번: 서강근육맨 PT 첫째 날에 $1$과 $4$를 선택하고, 둘째 날에 $2$와 $3$을 선택하고, 마지막 날에 $5$를 선택하면 $M$은 $5$가 되며, 이때가 $M$이 최소일 때이다. www.acmicpc.net 문제이해 PT를 한 번 받을 때 운동기구를 최대 두 개 까지만 선택할 수 있다. 이전에 사용하지 않았던 운동기구를 선택하기로 계획을 세웠다. PT를 한 번 받을 때의 근손실 정도가 M을 넘지 않도록 하고 싶다. 이때, M의 최솟값을 구하자. 운동기구를 두 개 사용해서 PT를 받을 때의 근손실 정도는 두 운동기구의 근손실 정도의 합이다. 문제풀이 처음에는 정렬을 하고 중간값들 두개를 더하면 근솔실 정도의 최소값이라고 ..
https://www.acmicpc.net/problem/3085 3085번: 사탕 게임 예제 3의 경우 4번 행의 Y와 C를 바꾸면 사탕 네 개를 먹을 수 있다. www.acmicpc.net 문제이해 NxN 크기에 사탕을 채워 놓는데 사탕의 색은 모두 같지 않을 수도 있다. 상근이는 사탕의 색이 다른 인접한 두 칸을 고르고 고른 칸에 들어있는 사탕을 서로 교환한다. 모두 같은 색으로 이뤄져 있는 가장 긴 연속 부분(행 또는 열)을 고른 다음 그 사탕들을 먹는다. 상근이가 먹을 수 있는 사탕의 최대 개수를 구하는 프로그램을 작성하자. 문제풀이 사탕은 한번만 교환이 가능한 것 같다. => 문제에 추가되어야할 조건 상,하,좌,우를 모두 살피고 색이 다른 사탕이 존재한다면 교환하자. 교체를 하고 입력받은 사탕..
문제이해 파라미터로 전달된 숫자에서 k개의 수를 제거하여 가장 큰 수 로 만드는 문제이다. 문제생각 나는 stack 자료구조를 이요하면 가능하다고 생각했다. 왜냐하면 해당 문제는 앞의 숫자를 그 이전의 숫자와 비교해야하기 때문이다. 위의 이유때문에 LIFO(Last In First Out)의 스택을 사용하면 현재 숫자와 이전 순서에서 나온 숫자와의 비교와 제거가 쉽다고 생각했다. 문제풀이 1. 앞의 숫자부터 순차적으로 반복문을 돌린다. 2. 스택이 비어있다면 값을 넣는다. 3. 그렇지 않다면 while 문을 돌리는데 이 while문에서는 앞의 숫자와의 비교를 실행한다. - 만약 앞에 출현한 숫자가 현재 나온 숫자보다 작다면 더 작은 수가 된다. - 따라서 앞의 나온 숫자를 스택에서 pop()해주고 k(제..
- Total
- Today
- Yesterday
- 파이썬
- 프로그래머스
- 백준
- 회고
- querydsl
- arraylist
- HTTP#HTTP특징
- this()
- 1978
- controller
- list
- springboot
- 4673번
- 스프링
- 사탕 게임#백준#3085
- 자바
- 백준#잃어버린 괄호#1541
- java
- 11659
- 서블릿#Servlet
- 백준#서강근육맨#20300
- 게시판#자바#JPA#Entity
- 덧칠하기
- 대충 만든 자판
- 오류
- Spring
- MVC
- 7568
- 1316번
- 백엔드#게시판
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |