본문 바로가기
728x90

전체 글71

[백준 7795] 먹을 것인가 먹힐 것인가 문제 https://www.acmicpc.net/problem/7795 7795번: 먹을 것인가 먹힐 것인가 심해에는 두 종류의 생명체 A와 B가 존재한다. A는 B를 먹는다. A는 자기보다 크기가 작은 먹이만 먹을 수 있다. 예를 들어, A의 크기가 {8, 1, 7, 3, 1}이고, B의 크기가 {3, 6, 1}인 경우에 A가 B를 먹을 www.acmicpc.net 문제 분석 두개의 배열이 들어오고, 한쪽을 A, 다른 한쪽을 B라고 생각한다. A의 값을 하나하나 돌며 B의 값보다 크다면 선이 이어진다. 이렇게 이어진 선이 몇가지인지 출력하는 문제이다. 알고리즘 설계 전체적으로 몇번 회전할지, A의 값 회전, B의 값 회전, 안에서 입력 받을 값, 출력값을 담을 정수형 변수 하나를 선언한다. 이후 전체적.. 2023. 11. 9.
[백준 10816] 숫자 카드 2 문제 https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,0 www.acmicpc.net 문제 분석 우선 가지고 있는 카드의 개수와 그 카드의 숫자가 정해지고, 또 특정 수가 들어오고 그 카드가 이전에 입력 받은 카드에서 몇개 존재하는지 확인하는 문제이다. 알고리즘 설계 우선 몇번 돌아야하는지 알고 있는 변수와, 입력 받을 정수형 변수 2개와 입력 받은 값을 모두 넣어줄 vector를 하나 선언해준다. 몇번 반복할지 입력 받고 안에서 입력을 한.. 2023. 11. 9.
[프로그래머스] 신고 결과 받기 문제 https://school.programmers.co.kr/learn/courses/30/lessons/92334 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 분석 유저들의 ID가 입력 되고, 그 유저가 어떤 유저를 신고했는지 들어온다. 또 몇 번 신고 받아야 경고 메일이 가는지 들어온다. 유저가 특정 유저 한명당 한명을 신고할 수 있으며 신고를 받은 횟수가 입력 받은 값이 입력 받은 값이 넘었다면 신고 받은 사람에게 메일이 가게 된다. 유저들이 신고한 유저가 메일이 갔는지 안 갔는지 개수를 세어 반환하는 문제이다. 알고리즘 설계 유저 ID를.. 2023. 11. 1.
[프로그래머스] 베스트앨범 문제 https://school.programmers.co.kr/learn/courses/30/lessons/42579 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 분석 장르의 이름과 몇번 재생이 되었는지 입력 되고, 가장 많이 재생된 장르부터 2개씩 가장 많이 재생된 순서를 출력해준다. 알고리즘 설계 우선 정답이 될 int만 가진 vector 1개, 몇번 플레이 됐는지와 몇번 인덱스인지 표시할 vector 1개, 장르 이름과 총 플레이된 횟수를 기록할 vector와 map 우선 몇번 플레이 됐는지, 몇번 인덱스인지 알려줄 vector에 각각의 값.. 2023. 11. 1.
[백준 11399] ATM 문제 https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 문제 분석 입력 받은 수의 사람들이 현금을 인출하는데 걸리는 시간을 입력 받는다. 만약 { 4, 6, 2, 8, 1 }이 입력 받게 되면 첫번째 사람은 4분 후 현금을 뽑을 수 있고, 두번째 사람은 앞사람도 기다려야 하기에 10분, 그렇게 12, 20, 21 분의 시간을 기다리게 된다. 그럼 모두가 기다린 시간을 총 합치면 67분을 기다리게 된다. 그럼 { 1, 2, 4, 6, 8 } 순으로 인출한다면? 1, 3, 7, .. 2023. 10. 26.
유니티에 GoogleMobileAds Package 넣기 유니티에 GoogleMobileAds Package을 넣기 위해선 JAVA JDK을 다운 받아야 한다. https://www.oracle.com/java/technologies/downloads/ Download the Latest Java LTS Free Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts. www.oracle.com 나는 JAVA 19 Windows 버전을 다운해주었다. 이후 유니티와 ‘JAVA JDK’을 연결해주 어야한다. 윈도우 검색을 통해 ‘view advanced system settings’을 검색하여준다. 이후 ‘Advan.. 2023. 10. 25.
[백준 16953] A → B 문제 https://www.acmicpc.net/problem/16953 16953번: A → B 첫째 줄에 A, B (1 ≤ A < B ≤ 109)가 주어진다. www.acmicpc.net 문제 분석 A에 2를 곱하거나, 1을 가장 오른쪽에 추가하여 수 B를 만드는 간단한 문제이다. 알고리즘 설계 입력을 받고 queue에 넣어 queue가 비어있지 않을때 작동되는 반복문을 만든다. queue앞에 있는 수에 2을 곱하거나 맨오른쪽에 1을 두는 코드를 만들고 B를 넘었다면 queue에 넣어주지 않는다. 만약 B에 도달했다면 얼마만에 도착 했는지 출력하고, 도착하지 못 하였다면 -1을 출력한다. 유의점 입력되는 값이 십억단위까지 올라가기에 int가 아닌 long long을 사용한다. vector대신 map을.. 2023. 10. 19.
[백준 7576] 토마토 문제 https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 문제 분석 토마토가 들어 있는 상자가 하나 있고, 한칸의 하나의 토마토 혹은 비어 있는 칸도 존재한다. 익은 토마토는 위, 아래, 오른쪽, 왼쪽의 토마토를 익게할 수 있고, 비어있다면 익지 않는다. 모든 토마토를 익게 하려면 얼마의 시간이 필요한지 구하는 문제이다. 알고리즘 설계 우선 입력을 받아 토마토를 담아둘 상자를 입력 받는다. 1로 되어 익어있는 토마토는 queue에 .. 2023. 10. 19.
[백준 24446] 알고리즘 수업 - 너비 우선 탐색 3 문제 https://www.acmicpc.net/problem/24446 24446번: 알고리즘 수업 - 너비 우선 탐색 3 너비 우선 탐색 트리는 1, 2, 3, 4번 노드로 구성된다. 1번 노드가 루트이다. 1번 노드의 자식은 2, 4번 노드이다. 3번 노드는 2번 또는 4번 노드의 자식이다. 5번 노드는 1번 노드에서 방문 될 수 없다. www.acmicpc.net 문제 분석 무방향 그래프를 만들고 시작 정점부터 BFS를 돌려준다. 시작 정점을 0으로 다음으로 방문하는 노드는 1, 그다음은 2이렇게 1식 올라간 것을 출력한다. 여기서 방문하지 않은 노드는 -1로 표시한다. 알고리즘 설계 정점의 수, 간선의 수, 시작 정점을 입력 받는다. 어떤 노드끼리 연결되어 있는지 확인하기 위하여 이중vector.. 2023. 10. 19.
[백준 5635] 생일 문제 https://www.acmicpc.net/problem/5635 5635번: 생일 어떤 반에 있는 학생들의 생일이 주어졌을 때, 가장 나이가 적은 사람과 가장 많은 사람을 구하는 프로그램을 작성하시오. www.acmicpc.net 문제 분석 학생의 수를 입력 받고 학생의 수에 맞춰 이름과 생일을 입력 받는다. 가장 나이가 어린 사람의 이름과 가장 나이가 적은 사람의 이름을 출력한다. 알고리즘 설계 priority_queue를 2개 만들어 오름차순으로 정렬되는 것과, 내림차순으로 정렬되는 것을 만든다. 학생의 수를 입력 받아 반복문을 돌려주고 학생의 이름과 생일을 입력 받는다. 19990101이 생일인 사람보다 20000101인 사람이 더 나이가 어린 것에서 착안하여 년도, 월, 일 순으로 배치하여.. 2023. 10. 19.
[백준 11047] 동전 0 문제 https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 문제 분석 동전의 개수와 총 만들어야하는 돈을 입력 받는다. 이후 동전의 가치가 정해진다. 이 동전의 가치로 총 만들어야하는 돈을 만들어야하고, 동전을 가장 적게 써야한다. 알고리즘 설계 동전의 개수와 만들어야하는 돈을 입력 받는다. 이후 vector에 동전들의 가치를 입력 받는다. 만들어야하는 돈이 0이 아니라면 계속 반복문을.. 2023. 10. 19.
[백준 1991] 트리 순회 문제 https://www.acmicpc.net/problem/1991 1991번: 트리 순회 첫째 줄에는 이진 트리의 노드의 개수 N(1 ≤ N ≤ 26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 알파 www.acmicpc.net 문제 분석 입력 받아 트리를 만들고 그 트리를 전위, 중위, 후위 순서대로 순회하여 값을 출력하는 간단한 문제이다. 알고리즘 설계 몇 가지의 노드가 있는지 입력 받고, 노드와 연결된 노드를 입력받아 이중 vector에 넣어준다. 이후 전위, 중위, 후위 순회를 하여 출력해준다. 유의점 전위, 중위, 후위 순회에 간단한 이해가 필요한 문제이다. 코드 #include #include .. 2023. 10. 19.
728x90