본문 바로가기

분류 전체보기

(386)
[boj] 백준 20057 마법사 상어와 토네이도 (Java) - 시뮬레이션 [문제] https://www.acmicpc.net/problem/20057 20057번: 마법사 상어와 토네이도 마법사 상어가 토네이도를 배웠고, 오늘은 토네이도를 크기가 N×N인 격자로 나누어진 모래밭에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c열을 의미하고, A[r][c]는 (r, c)에 있는 모래의 양을 www.acmicpc.net [풀이] https://stritegdc.tistory.com/216 [boj] 백준 20057 마법사 상어와 토네이도 (c++) - 시뮬레이션 [문제] https://www.acmicpc.net/problem/20057 20057번: 마법사 상어와 토네이도 마법사 상어가 토네이도를 배웠고, 오늘은 토네이도를 크기가 N×N인 격자로 나누어진 모래밭에서 연습..
[pro] 프로그래머스 level2 131704 택배 상자 (Java) - 시뮬레이션 [문제] https://school.programmers.co.kr/learn/courses/30/lessons/131704 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] 메인 컨베이어 벨트는 들어온 순서대로 나가기때문에 Queue를 사용하고, 서브 컨베이어 벨트는 가장 늦게 들어온 택배가 가장 빨리 나가므로 Stack를 사용한다. 택배에 실어야 하는 상자 번호가 현재 상자 번호보다 작다면 서브 컨베이어 벨트에 있다는 의미이므로 서브 컨베이어 벨트의 상자들과 비교한다. 그렇지 않다면 메인 컨베이어 벨트에 있다는 의미이므로 메인 컨베이어 벨트의 상..
[pro] 프로그래머스 level2 131127 할인 행사 (Java) - 시뮬레이션 [문제] https://school.programmers.co.kr/learn/courses/30/lessons/131127 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] Map을 이용해서 disccount 목록을 이동시켜가며 비교한다. 단순 시뮬레이션 문제! [코드] import java.util.*; class Solution { public int solution(String[] want, int[] number, String[] discount) { int answer = 0; //회원등록시 정현이가 원하는 제품을 모두 할인 받을 수 있는..
[pro] 프로그래머스 level2 134239 우박수열 정적분 (Java) - 시뮬레이션 [문제] https://school.programmers.co.kr/learn/courses/30/lessons/134239 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] 단순 구현. 모든 x좌표에 대해서 우박수열의 꺾은 선 그래프에 의해 생기는 사다리꼴의 넓이를 구해서 저장해 준 후 사용하였다. [코드] import java.util.*; class Solution { public double[] solution(int k, int[][] ranges) { double[] answer = {}; //정적분의 결과 목록을 return List l..
[pro] 프로그래머스 level2 132265 롤케이크 자르기 (Java) - 시뮬레이션 [문제] https://school.programmers.co.kr/learn/courses/30/lessons/132265 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] 포인터를 이동시켜가며 오른쪽 해시맵에 있던 토핑을 왼쪽 해시맵으로 옮겨준다. 이후 해시맵의 크기를 비교해가며 크기가 같으면 answer를 증가시킨다. 처음에는 중복없이 토핑 종류의 개수만 저장하기 위해 Set을 사용하려 했으나 이 경우 전체 토핑이 한 번에 삭제되기 때문에 토핑의 종류와 개수를 함께 저장할 수 있는 HashMap을 이용해주었다. [코드] import java.u..
[pro] 프로그래머스 level2 135807 숫자 카드 나누기 (Java) - 시뮬레이션 [문제] https://school.programmers.co.kr/learn/courses/30/lessons/135807 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] arrayA의 최대공약수를 구한 후 arrayB를 나눌 수 없는지 확인한다. 마찬가지로 arrayB의 최대공약수를 구하고, arrayA를 나눌 수 없는지 확인한다. 그 중 더 큰 수가 정답이 된다. 최대공약수의 약수들에 대해서도 확인해야 하는 것이 아닌가? 라는 생각에 빠져서 조금 헤매었다. 결과적으로는 최대공약수에 대해서만 비교를 해주면 된다. 예를 들어, arrayA의 최대..
[pro] 프로그래머스 level2 140107 점 찍기 (Java) - 시뮬레이션 [문제] https://school.programmers.co.kr/learn/courses/30/lessons/140107 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] d의 범위가
[pro] 프로그래머스 level2 142085 디펜스 게임 (Java) - 시뮬레이션 [문제] https://school.programmers.co.kr/learn/courses/30/lessons/142085 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] 단순 구현. 우선순위큐를 이용하여 가장 병사가 많은 라운드에서 무적권을 사용할 수 있도록 해준다. [코드] import java.util.*; class Solution { public int solution(int n, int k, int[] enemy) { int answer = 0; //준호가 몇 라운드까지 막을 수 있는지 return PriorityQueue pq = n..