본문 바로가기

전체 글

(229)
비밀지도 https://programmers.co.kr/learn/courses/30/lessons/17681 코딩테스트 연습 - [1차] 비밀지도 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다 programmers.co.kr class Solution { public String[] solution(int n, int[] arr1, int[] arr2) { String[] answer = new String[n]; String[] cmp = new String[n]; String zero = "0"; String[] st1 = new String[n]; String[] st2..
다트게임 https://programmers.co.kr/learn/courses/30/lessons/17682 코딩테스트 연습 - [1차] 다트 게임 programmers.co.kr import java.util.ArrayList; class Solution { public int solution(String dartResult) { int answer = 0; char[] arr = dartResult.toCharArray(); ArrayList calc = new ArrayList(); for (int i = 0; i < arr.length; i++) { if (arr[i] == 'S' || arr[i] == 'D' || arr[i] == 'T') { if (arr[i] == 'D') { calc.set(ca..
크레인 인형뽑기 게임 https://programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr import java.util.ArrayList; public class Solution { static ArrayList bucket = new ArrayList(); public static int solution(int[][] board, int[] moves) { int answer = 0; for(int i=0; i
실패율 https://programmers.co.kr/learn/courses/30/lessons/42889 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; class Solution { public int[] solution(int N, int[] stages) { int[] answ..
5658. [모의 SW 역량테스트] 보물상자 비밀번호 이 문제에서는 String으로 주어진 16진수를 어떻게 10진수로 쉽게 변환하고, 어떻게 Rotate를 간단하게 할 수 있는지, 중복 문자열을 어떻게 쉽게 체크하는지, 생성 가능한 수를 내림 차순으로 어떻게 정렬할지가 관건인 문제라고 생각합니다. (1) 저는 16진수를 10진수로 parseLong(변환할 16진수 문자열, 16) 메소드로 해결 하고, (2) Rotate 하는 것은 새로운 문자열 String s2 를 선언해서 가장끝에 있는 문자열을 가장 처음에 가져오고, substring으로 처음부터 마지막전까지 문자열을 잘라 더하는 방법으로 해결했습니다. (3) 잘려진 중복문자열은 HashSet에 넣어서 중복되면 애초에 들어가지 않게 했습니다. (4) 마지막으로 HashSet에 담긴 문자열을 어떻게 내림..
5650. [모의 SW 역량테스트] 핀볼 게임 주어진 게임판의 모든 빈 공간에서 핀볼을 동서남북 방향으로 모두 출발시켜 보는 완전탐색 시뮬레이션 문제입니다. 저는 Ball 클래스를 만들어서 빈공간의 모든 위치 x, y와 동서남북 방향을 뜻하는 d에 0,1,2,3 을 넣어서 ArrayList에 담고 모든 빈 공간에서 핀볼게임을 동서남북방향으로 시작했습니다. 그리고 웜홀을 처리하는 것이 문제였는데 웜홀 또한 Hole이라는 클래스를 만들어서 ArrayList에 모든 웜홀의 위치 x, y를 저장했습니다. 그래서 핀볼이 움직이면서 웜홀을 만나게 되면 모든 웜홀이 담긴 ArrayList를 전체 탐색하면서 자기 자신의 다른 짝 웜홀을 찾아서 그 위치로 이동시키는 방법으로 처리했습니다. 이 부분은 생각해보면 웜홀은 한 쌍으로 이루어져 있기 때문에 더 효율적으로 처..
[프로그래머스] 프린터 https://programmers.co.kr/learn/courses/30/lessons/42587 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr priorities 에 들어 있는 숫자들을 위치와 함께 기억해야 하기때문에 Pair라는 클래스를 선언했습니다. idx에는 숫자들의 위치를 기억하고 value에는 숫자들을 저장하여 queue에 먼저 담았습니다. 그리고 priorities 에 있는 숫자들을 정렬하여 가장 큰 숫자가 우선순위가 가장 높기 때문에 queue에서 하나씩 빼가면서 비교했습니다. 우선순위가 가장 높은 숫자가 아니라면 queue에 다시 추가..
[백준] 17822. 원판 돌리기 https://www.acmicpc.net/problem/17822 17822번: 원판 돌리기 반지름이 1, 2, ..., N인 원판이 크기가 작아지는 순으로 바닥에 놓여있고, 원판의 중심은 모두 같다. 원판의 반지름이 i이면, 그 원판을 i번째 원판이라고 한다. 각각의 원판에는 M개의 정수가 적혀있고, i번째 원판에 적힌 j번째 수의 위치는 (i, j)로 표현한다. 수의 위치는 다음을 만족한다. (i, 1)은 (i, 2), (i, M)과 인접하다. (i, M)은 (i, M-1), (i, 1)과 인접하다. (i, j)는 (i, j-1), (i, j www.acmicpc.net 2019 하반기 삼성 공채 SW 역량테스트 시뮬레이션 문제 입니다. 제가 봤던 시간대가 아닌 다른 시간대에 문제였는데 정답률을 보..