Problem Solving 76

[백준/c++] 177262 - 팬덤이 넘쳐흘러

https://www.acmicpc.net/problem/17262 17262번: 팬덤이 넘쳐흘러 선물 포장 공장을 말아먹은 욱제는 계곡에서 백숙을 파느라 학교에 자주 가지 못한다. 하지만 월클의 인생은 피곤한 법! 욱제는 지금처럼 힘든 시기에도 자신을 기다리는 5조5억명의 열렬한 팬 www.acmicpc.net 1) 풀이 예전엔 온종일 풀어도 풀리지 않던 문제가 오늘 딱! 의외로 쉽게 풀려버렸다. 이럴 땐 기분이 짜릿하기도 하지만 한편으로는 허무한... 그래두 내가 실력이 늘었다는 증거겠지? 이 문제는 '그리디 알고리즘'에 관한 문제이다. (그리디 알고리즘에 대한 자세한 사항은 아래 참고자료 링크를 보길 바란다. 시간이 된다면, 블로그에 적어보겠다!) 이 문제를 처음 접했을 때는 어떻게 접근해야 할지 ..

[프로그래머스/JavaScript] 3진법 뒤집기

programmers.co.kr/learn/courses/30/lessons/68935?language=javascript 코딩테스트 연습 - 3진법 뒤집기 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수 programmers.co.kr 1) 풀이 프로그래머스에서 문제 푸는 건 아직 서툴다 😂 그래도 하나씩 모이면 익숙해지겠지. 오늘은 간단한 진법 변환에 대한 문제를 자바스크립트로 풀었다. 진법변환을 위해 자바스크립트의 toString, parseInt 함수를 이용하였는데, 해당 함수들에 대한 내용을 적은 자료가 이미 내 블로그..

[백준/c++] 17296 - But can you do it in 0.5x A presses?

https://www.acmicpc.net/problem/17296 17296번: But can you do it in 0.5x A presses? 첫째 줄에 스테이지의 개수 N이 주어진다. N은 1 이상 1000 이하이다. 다음 줄에는 각 스테이지를 깨는데 필요한 A버튼의 최소 횟수가 주어진다. 모두 0.5의 배수이며, 0 이상 1000 이하이다. 정수일 www.acmicpc.net 요새 블로그 글을 통 안 적어서, 한꺼번에 모아서 적을려다가 내가 문제 이해하는 데에만 너무 많은 시간을 쏟아부은 문제가 있어 이렇게 적는다😥 나도 이해가 되게 적을 수 있을지는 모르겠지만, 나 같은 사람이 좀 적어졌으면 하는 마음으로 써보겠다! 1) 풀이 " 음이 아닌 정수 x에 대해 x+0.5라는 것은 정말로 A버튼을 ..

[프로그래머스/JavaScript] 두 정수 사이의 합

programmers.co.kr/learn/courses/30/lessons/12912?language=javascript 코딩테스트 연습 - 두 정수 사이의 합 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우 programmers.co.kr 1) 풀이 자바스크립트로 푸는 두번째 문제😁 그래서 풀이는 다소 지저분하고 서툴어보이고 잘 모릅니당. 혹시나 지나가다가 더 효율적이거나 더 좋은 아이디어가 있다면 댓글 남겨주시면 감사하겠습니다. 이 문제는 풀이 자체는 굉장히 단순하게 풀릴 수밖에 없다. 주어지는 a,b 중..

[백준/c++] 14042 - Tandem Bicycle

https://www.acmicpc.net/problem/14042 14042번: Tandem Bicycle Since time immemorial, the citizens of Dmojistan and Pegland have been at war. Now, they have finally signed a truce. They have decided to participate in a tandem bicycle ride to celebrate the truce. There are N citizens from each country. They must be ass www.acmicpc.net 1) 풀이 각각 n명의 Dmojistan의 시민과 Pegland의 시민을 2인승 자전거에 한명씩 태우는데, 각 시민..

[백준/c++] 20551 - Sort 마스터 배지훈의 후계자

https://www.acmicpc.net/problem/20551 20551번: Sort 마스터 배지훈의 후계자 지훈이는 Sort 마스터다. 오랫동안 Sort 마스터 자리를 지켜온 지훈이는 이제 마스터 자리를 후계자에게 물려주려고 한다. 수많은 제자들 중에 후계자를 고르기 위해서 지훈이는 제자들에게 문제 www.acmicpc.net 1) 풀이 주어지는 input들을 하나의 벡터에 집어넣고, 정렬한 뒤 lower_bound 함수를 사용하여 찾고자 하는 값의 인덱스를 구한뒤 인덱스를 출력하면 되는 문제이다. lower_bound 함수에 대한 설명은 최근에 풀이한 문제에 있으므로. 해당 글을 첨부해놓겠다🤗 2021.04.23 - [알고리즘 | 자료구조/백준] - [백준/c++] 19637 - IF문 좀 대신..

[백준/c++] 20044 - Project Teams

https://www.acmicpc.net/problem/20044 20044번: Project Teams 입력은 표준입력을 사용한다. 입력의 첫 번째 행에는 팀 수를 나타내는 양의 정수 n(1 ≤ n ≤ 5,000)이 주어진다. 그 다음 행에 학생 si 의 코딩 역량 w(si)를 나타내는 2n개의 양의 정수가 공백으로 www.acmicpc.net 1) 풀이 두명씩 팀을 짜되, 각 팀의 코딩 역량이 가능한 적은 차이가 나도록, 즉 각 팀들의 코딩역량이 최대한 밸런스를 이루도록 팀을 짠 후 최소의 코딩역량을 가진 팀의 역량을 출력하는 문제이다. 각 팀들의 코딩역량이 밸런스를 이루기 위해서는 가장 큰 값+가장 작은 값 의 순대로 팀을 짜면 된다. 가령 각 학생의 역량을 저장하는 자료구조를 deque(덱)으로..

[백준/c++] 11728 - 배열 합치기

https://www.acmicpc.net/problem/11728 11728번: 배열 합치기 첫째 줄에 배열 A의 크기 N, 배열 B의 크기 M이 주어진다. (1 ≤ N, M ≤ 1,000,000) 둘째 줄에는 배열 A의 내용이, 셋째 줄에는 배열 B의 내용이 주어진다. 배열에 들어있는 수는 절댓값이 109보다 작거 www.acmicpc.net 1) 풀이 두개의 배열에 주어지는 각각의 숫자를 저장한 뒤, 두 배열의 맨 앞 숫자들을 비교하여 더 작은 숫자를 출력해주고 출력해준 숫자는 배열에서 뺀 뒤 다시 비교를 반복하면 되는 문제이다. 배열의 맨앞을 pop 해줘야 하므로, 자료구조 중 deque을 이용하기로 했다! deque에 대한 자세한 설명은 3) 참고자료 블로그링크를 확인하길 바람 굉장히 간단한 원..

[백준/c++] 19637 - IF문 좀 대신 써줘

https://www.acmicpc.net/problem/19637 19637번: IF문 좀 대신 써줘 첫 번째 줄에는 칭호의 개수 N (1 ≤ N ≤ 105)과 칭호를 출력해야 하는 캐릭터들의 개수 M (1 ≤ M ≤ 105)이 빈칸을 사이에 두고 주어진다. (1 ≤ N, M ≤ 105) 두 번째 줄부터 N개의 줄에 각 칭 www.acmicpc.net 1) 풀이 STL에서 제공하는 lower_bound 함수를 사용하여 푸는 문제이다. lower_bound 함수란, 간단히만 설명하자면 이진탐색 기반의 탐색 방법으로, 찾으려는 key 값보다 같거나 큰 숫자가 배열에서 몇번째로 처음 등장하는지 찾기 위해 사용하는 함수이다. 만약 찾는 key 값이 있으면 그 key값의 위치를, 없으면 key값보다 큰 가장 작..

[백준/c++] 21313 - 문어

https://www.acmicpc.net/problem/21313 21313번: 문어 문어에게 여덟개의 팔이 있다는 사실은 잘 알려져 있다. 하지만 문어들이 자신의 팔들을 1번, 2번, 3번, ..., 8번이라고 부른다는 말은 오늘 처음 들었을 것이다! 단, 시계방향으로 오름차순이라던 www.acmicpc.net 1) 풀이 사전순으로 제일 앞서는 n길이의 수열을 만드는 문제이다. 1번과 2번, 2번과 3번.... 1) 앞뒤번호로 이어진 문어는 서로 같은 번호의 손을 잡아야하고 2) 반드시 한 손으로만 손을 잡으며 3)이미 사용한 손으로 다른 문어의 손을 잡을 수 없다. 일단, 문어들이 잡은 손의 번호를 저장할 벡터를 준비한다. 그리고 각 문어들의 손 번호 1~8번이 저장된 배열(손번호 배열)을 준비한다..

728x90