
1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/77485?language=java# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 풀이 while문을 이용해 첫위치에 돌아올 때까지 위치를 변경한다. 배열을 이용해서 칸의 값을 이동한다. (dirX, dirY) (x1, y1)부터 (x1, y1) 값을 (x1+1, y1)으로 바꾸고, 각 귀퉁이에 오면 방향을 바꿔준다. (dir 변경) 3. 코드 class Solution { public int rotate(int[][] map, int..
1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/12909?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 풀이 스택을 사용하는 것이 정석적인 풀이지만 스택을 사용하지 않고 풀 수 있다. "("는 +1, ")"은 -1이라고 생각한다면, "("와 ")" 한번씩 나와 올바른 짝이 되면 0이되고, 그렇지 않으면 음수, 혹은 양수가 된다. 문자열을 끝까지 돌았을 때 합이 0이 된다면 올바른 괄호다. "))(("처럼 합은 0이지만 올바르지 않은 문자열을 고르기 위해, 문..

1. 문제 https://www.acmicpc.net/problem/2133 2133번: 타일 채우기 3×N 크기의 벽을 2×1, 1×2 크기의 타일로 채우는 경우의 수를 구해보자. www.acmicpc.net 2. 풀이 DP를 사용해서 풀이한다. 2X1, 1X2 타일을 이용해 채우므로, 3XN에서 N이 홀수일 경우 타일로 채워질 수 없다. 자바 배열에서는 배열 선언시 0으로 초기화 되므로 별도로 값을 초기화해주지 않아도 된다. 경우를 2가지로 나누어서 생각한다. 3X2를 채울 수 있는 경우는 3개이다. N-2개의 타일을 채운 경우 뒤에 2X1을 채워넣는다고 생각하면, DP[N] += DP[N-2] * 3이다. 4X2, 6X2, 8X2.... 4 이후 2의 배수마다 2가지 방법으로 칸을 채울 수 있는 방..
1. 문제 https://programmers.co.kr/learn/courses/30/lessons/12981?language=java 코딩테스트 연습 - 영어 끝말잇기 3 ["tank", "kick", "know", "wheel", "land", "dream", "mother", "robot", "tank"] [3,3] 5 ["hello", "observe", "effect", "take", "either", "recognize", "encourage", "ensure", "establish", "hang", "gather", "refer", "reference", "estimate", "executive"] [0,0] programmers.co.kr 2. 풀이 끝말잇기에 사용된 단어들을 리스트에 저..
1. 문제 https://programmers.co.kr/learn/courses/30/lessons/42888?language=java 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 2. 풀이 입력 받은 명령의 내용(입장, 퇴장)을 유저의 아이디와 함께 저장한다. 아이디와 이름을 해시맵에 저장한다. 아이디 변경을 반복하게 되는 경우 뒤에 들어온 value가 덮여 저장된다. 입력을 모두 받은 후, replace를 사용해서 유저의 아이디를 이름으로 교체한다. 3. 코드 import java.util.*; cl..
1. 문제 https://www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net 2. 풀이 DP를 이용해 풀이한다. 2차원 배열로 DP를 진행한다. 첫번째 인덱스는 무게를 의미한다. dp[k][n]일 경우, k 무게 만큼 버티고 있을 때다. 두번째 인덱스는 물품의 인덱스를 의미한다. dp[k][n]일 경우, n번째 물건까지를 고려했을 때다. 즉, DP 배열에 저장되는 값은 인덱스에 해당하는 물건들의 ..

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/62048?language=java 코딩테스트 연습 - 멀쩡한 사각형 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을 programmers.co.kr 2. 풀이 직사각형의 높이가 h, 너비가 w이라고 하자. w와 h의 최대공약수가 1보다 클 경우 직사각형 내부의 꼭짓점을 지난다. gcd가 1인 경우 대각선이 가로줄과 세로줄을 한번씩 지날 때마다 대각선이 만나는 사각형의 갯수가 증가하는데, 총 (h-1)의 가로줄과 (w-1)의 세로줄을 지나게 된다...
1. 문제 https://programmers.co.kr/learn/courses/30/lessons/60057?language=java 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr 2. 풀이 문자열이 압축 되기 위해 가능한 길이의 최댓값은 (문자열 길이)/2 이므로, for문을 통해 1~(문자열 길이)/2까지 증가시키며 압축을 진행한다 증가시키는 인덱스의 값이 압축되는 패턴의 길이다. 압축을 진행한 결과 가장 길이가 짧은 값을 리턴한다. 압축 for문으로, 이전의 패턴 문자열과 비교할 현재의 문자..
1. 문제 https://programmers.co.kr/learn/courses/30/lessons/81301?language=java 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr 2. 풀이 특정 문자열을 원하는 문자열로 치환해주는 replaceAll 함수를 사용한다. public String replace(CharSequence target, CharSequence replacement) public String replaceAll(String regex, String replacement)..
1. 문제 https://www.acmicpc.net/problem/1715 1715번: 카드 정렬하기 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장 www.acmicpc.net 2. 풀이 카드 묶음의 합이 가장 작기 위해선, 가장 적은 카드 합(또는 카드)를 2개를 계속해서 합하는 것이다. 즉, 오름차순 정렬된 우선순위 큐를 사용해 가장 작은 카드 합을 2개 빼내고 이 두 카드의 합을 구한 후 구한 합을 다시 우선순위 큐에 넣으면 가장 적은 카드 합을 구할 수 있다. 3. 코드 import java.util.*; import java.io.*; ..
- Total
- Today
- Yesterday
- 프로그래머스
- 11503
- 키 순서
- 리눅스
- 메일서버
- DP
- hackerrank
- 아두이노
- 2981
- c++
- 구슬 탈출2
- java
- BFS
- 합승 택시 요금
- hc-06
- 백준
- 라즈베리파이
- git
- FTP
- ESP8266
- dht11
- 라즈비안
- the pads
- 집배원 한상덕
- dovecot
- 블루투스
- mysql
- 스티커모으기2
- 워드프레스
- 자바
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |