본문 바로가기

전체 글137

[프로그래머스] 2019 카카오 개발자 겨울 인턴십 - 불량 사용자, C++ https://programmers.co.kr/learn/courses/30/lessons/64064 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 본 문제는 불량 사용자 목록 중 한개를 선택하여 user_id와 일치하는 것을 찾는 문제다. 일치하는 user_id가 있을 경우에만 다음 순서로 넘어간다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253#include #include #include #include using name.. 2020. 5. 5.
[백준 14888] 연산자 끼워넣기, C++ https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, 곱셈(×)의 개수, 나눗셈(÷)의 개수이다. www.acmicpc.net 본 문제는 주어진 더하기, 빼기, 곱하기, 나누기를 모두 사용하여 최댓값과 최솟값을 구하는 문제다. 이때 사칙연산은 무시한다. next_permutation을 이용하여 모든 경우를 계산하였다. 이때 최댓값과 최솟값이 int의 범위를 벗어날 수 있다. 1 2 3 4 5 6 7 8 9 10 11 12 .. 2020. 5. 3.
[프로그래머스] 2019 카카오 개발자 겨울 인턴십 - 튜플, C++ https://programmers.co.kr/learn/courses/30/lessons/64065 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 본 문제는 문자열 처리를 하는 문제다. 문제의 자세한 설명은 링크를 참고하길 바란다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546#include #include #include using namespace std; bool chk[100001]; vector solution(string s) { vecto.. 2020. 5. 1.
[프로그래머스] 2019 카카오 개발자 겨울 인턴십 - 크레인 인형뽑기 게임, C++ https://programmers.co.kr/learn/courses/30/lessons/64061 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 본 문제는 시뮬레이션 문제로 stack을 이용하여 문제의 조건에 맞게 코딩하면 된다. 해당 칸이 0일 경우 continue; 0이 아닐 경우 stack이 empty가 아닐 때, top과 값이 같으면 answer += 2, board = 0, break stack이 empty이거나 top과 다를 경우 push(), board = 0, break 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1.. 2020. 5. 1.
[백준 12872] 플레이리스트, C++ https://www.acmicpc.net/problem/12872 12872번: 플레이리스트 첫째 줄에 수빈이가 만들 수 있는 플레이리스트의 경우의 수를 출력한다. 경우의 수가 매우 커질 수 있기 때문에, 1,000,000,007로 나눈 나머지를 출력한다. www.acmicpc.net 본 문제는 수빈이가 플레이리스트를 만들수 있는 경우의 수를 출력하는 문제다. 모든 노래를 플레이리스트에 추가해야 하며 노래를 중복해서 추가할 수 있다. 하지만 중복된 노래를 추가 하려면, 두 곡 사이에 m개 이상의 곡이 있어야 한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 3.. 2020. 4. 27.
[백준 2916] 자와 각도기, C++ https://www.acmicpc.net/problem/2916 2916번: 자와 각도기 문제 창영이는 방 청소를 하다가 자와 각도기를 발견했다. 다음날 창영이는 학교에 자와 각도기를 들고 갔고, 현우와 "작도 대결"을 하려고 한다. 창영이는 각도기와 자를 이용해서 만들 수 있는 각을 알고 있고, 두 각을 합하거나 빼서 새로운 각을 만드는 방법을 알고 있다. 현우가 어떤 각도를 외치면, 창영이는 자와 각도기를 이용해서 현우가 외친 각도를 작도해야 한다. 작도할 때는 새로운 각을 이용해서 또다른 새로운 각을 만드는 것도 가능하다. 현우가 외치는 www.acmicpc.net 본 문제는 주어진 n개의 각을 이용해 합하거나 빼서 새로운 각을 만든다. 또한 새로운 각을 이용해서 또 다른 새로운 각을 만드는 것도.. 2020. 4. 27.
[백준 17069] 파이프 옮기기 2, C++ https://www.acmicpc.net/problem/17069 17069번: 파이프 옮기기 2 유현이가 새 집으로 이사했다. 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r, c)로 나타낼 수 있다. 여기서 r은 행의 번호, c는 열의 번호이고, 행과 열의 번호는 1부터 시작한다. 각각의 칸은 빈 칸이거나 벽이다. 오늘은 집 수리를 위해서 파이프 하나를 옮기려고 한다. 파이프는 아래와 같은 형태이고, 2개의 연속된 칸을 차지하는 크기이다. 파이프는 회전시킬 수 있으며, 아래와 같이 www.acmicpc.net 본 문제는 파이프 옮기기 1 문제에서 입력의 크기가 커진 문제다. dfs 탐색을 할 때, 같은 연산을 여려번 하는 경우가 발.. 2020. 4. 22.
[백준 17070] 파이프 옮기기 1, C++ https://www.acmicpc.net/problem/17070 17070번: 파이프 옮기기 1 유현이가 새 집으로 이사했다. 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r, c)로 나타낼 수 있다. 여기서 r은 행의 번호, c는 열의 번호이고, 행과 열의 번호는 1부터 시작한다. 각각의 칸은 빈 칸이거나 벽이다. 오늘은 집 수리를 위해서 파이프 하나를 옮기려고 한다. 파이프는 아래와 같은 형태이고, 2개의 연속된 칸을 차지하는 크기이다. 파이프는 회전시킬 수 있으며, 아래와 같이 www.acmicpc.net 본 문제는 가로, 세로, 대각선으로 파이프를 설치하여 n-1, m-1에 도착하는 경우의 수를 출력하는 문제다. 1은 벽이고 .. 2020. 4. 22.
[백준 16933] 벽 부수고 이동하기 3, C++ https://www.acmicpc.net/problem/16933 16933번: 벽 부수고 이동하기 3 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 1,000), K(1 ≤ K ≤ 10)이 주어진다. 다음 N개의 줄에 M개의 숫자로 맵이 주어진다. (1, 1)과 (N, M)은 항상 0이라고 가정하자. www.acmicpc.net 벽 부수고 이동하기 시리즈 문제다. 0은 빈 칸, 1은 벽이다. 이동하는 방법은 상하좌우로 움직일 수 있고, 그 자리에 멈출 수 도 있다. 부술수 있는 벽의 개수가 주어지고, 벽은 낮에만 부술수 있다. 따라서 위치 좌표, 벽을 부순 개수, 낮밤을 저장할 4차원의 배열이 필요하다. 벽 부수고 이동하기 2 문제에서 낮밤만 추가된 문제로 낮밤을 표시하기 위해 3차원 .. 2020. 4. 22.