분류 전체보기

coding_test/programmers

lv2 / 두 큐 합 같게 만들기 / 카카오 / C++

https://school.programmers.co.kr/learn/courses/30/lessons/118667 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 일단, 문제에서 친절하게도 오버플로우의 가능성을 미리 말해줬기 때문에, 안전하게 long long 이상의 자료형을 사용하자. 필자는 uint64_t 자료형을 사용했다. 두 큐의 합이 같아지도록 큐의 FIFO특성을 이용하여 문제를 풀어야 한다. queue1, queue2의 원소의 총합을 sum1, sum2라고 한다면, 우리는 원소를 적절하게 push, pop하여 sum1 == sum2가 되도록 만..

coding_test/BAEKJOON

백준 6236번 C++ 풀이

https://www.acmicpc.net/problem/6236 6236번: 용돈 관리 현우는 용돈을 효율적으로 활용하기 위해 계획을 짜기로 하였다. 현우는 앞으로 N일 동안 자신이 사용할 금액을 계산하였고, 돈을 펑펑 쓰지 않기 위해 정확히 M번만 통장에서 돈을 빼서 쓰기로 www.acmicpc.net 시간 제한 메모리 제한 solved.ac 티어 1초 128MB 실버 2 문제 현우는 용돈을 효율적으로 활용하기 위해 계획을 짜기로 하였다. 현우는 앞으로 N일 동안 자신이 사용할 금액을 계산하였고, 돈을 펑펑 쓰지 않기 위해 정확히 M번만 통장에서 돈을 빼서 쓰기로 하였다. 현우는 통장에서 K원을 인출하며, 통장에서 뺀 돈으로 하루를 보낼 수 있으면 그대로 사용하고, 모자라게 되면 남은 금액은 통장에 ..

coding_test/BAEKJOON

백준 2583번 C++ 풀이

https://www.acmicpc.net/problem/2583 2583번: 영역 구하기 첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오 www.acmicpc.net 시간 제한 메모리 제한 solved.ac 티어 1초 128MB 실버 1 문제 눈금의 간격이 1인 M×N(M,N≤100)크기의 모눈종이가 있다. 이 모눈종이 위에 눈금에 맞추어 K개의 직사각형을 그릴 때, 이들 K개의 직사각형의 내부를 제외한 나머지 부분이 몇 개의 분리된 영역으로 나누어진다. 예를 들어 M=5, N=7 인 모눈종이 위에 과 같이 직사각형 3개를 그렸다면, 그 나..

coding_test/BAEKJOON

백준 2193번 C++ 풀이

https://www.acmicpc.net/problem/2193 2193번: 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않 www.acmicpc.net 시간 제한 메모리 제한 solved.ac 티어 2초 128MB 실버 3 문제 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않는다. 이친수에서는 1이 두 번 연속으로 나타나지 않는다. 즉, 11을 부분 문자열로 갖지 않는다. 예를..

coding_test/programmers

lv1 / [1차] 비밀지도 / 카카오 기출 / C++

https://school.programmers.co.kr/learn/courses/30/lessons/17681 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나뉘어진 두개의 지도를 합치기만 하면 되는 문제이다. 문제에서도 나와있지만, 두 지도에서 같은 칸에 하나라도 벽이 있다면, 벽이 있다는 뜻이라고 한다. 즉, 그냥 bitwise OR연산을 진행하면 된다. 각 배열의 요소를 모두 OR연산을 진행한 후에, 이를 2진수로 바꾸고, 0과 1을 각각 공백과 #으로 바꿔주면 된다. 이번 문제를 통해 비트를 다룰때 쓰기 좋은 bitset STL을 알게 되었다...

coding_test/programmers

lv1 / 실패율 / 카카오 기출 / C++

https://school.programmers.co.kr/learn/courses/30/lessons/42889 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 그냥 단순히, 모든 실패율을 다 구하고, 그 실패율을 통해 정렬하면 되는 문제. 다만, 실패율이 같으면 작은 순서가 유지되어야 해서, 안정정렬을 사용했다. #include using namespace std; vector solution(int N, vector stages) { vector answer; vector ratio(N); int l = 0, r = 0, prev; sort(stage..

coding_test/programmers

lv2 / 거리두기 확인하기 / 카카오 기출 / C++

https://school.programmers.co.kr/learn/courses/30/lessons/81302 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 그냥 처음 봤을때 bfs라는 느낌이 강하게 들어서, 그대로 bfs로 풀이했다. 이때, 우리는 거리가 2를 넘어간다면, 궁금해할 필요가 없기 때문에, 거리가 2 이하인 노드에서만 탐색을 진행했다. #include using namespace std; int bfs(vector& board, int x, int y) { queue q; bool visit[5][5] = {false}; int dist..

coding_test/BAEKJOON

백준 2075번 C++ 풀이

https://www.acmicpc.net/problem/2075 2075번: N번째 큰 수 첫째 줄에 N(1 ≤ N ≤ 1,500)이 주어진다. 다음 N개의 줄에는 각 줄마다 N개의 수가 주어진다. 표에 적힌 수는 -10억보다 크거나 같고, 10억보다 작거나 같은 정수이다. www.acmicpc.net 시간 제한 메모리 제한 solved.ac 티어 1초 12MB(하단 참고) 실버 2 문제 N×N의 표에 수 N^2개 채워져 있다. 채워진 수에는 한 가지 특징이 있는데, 모든 수는 자신의 한 칸 위에 있는 수보다 크다는 것이다. N=5일 때의 예를 보자. 12 7 9 15 5 13 8 11 19 6 21 10 26 31 16 48 14 28 35 25 52 20 32 41 49 이러한 표가 주어졌을 때, ..

CodeJin
'분류 전체보기' 카테고리의 글 목록 (6 Page)