본문 바로가기

Algorithm/구현11

[프로그래머스] 괄호 변환 (C++) (2020 KAKAO BLIND RECRUITMENT) https://programmers.co.kr/learn/courses/30/lessons/60058 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr 문자열을 이용한 구현 문제이다. 문제만 제대로 이해하고 재귀함수를 통해 그대로 구현하면 된다. #include #include #include #include using namespace std; bool check(string p) { //올바른 괄호 문자열 체크 stack s; for (int i = 0; i < p.size(); i++){ if (p[i] =.. 2021. 9. 10.
[백준] 10250번 : ACM 호텔 https://www.acmicpc.net/problem/10250 10250번: ACM 호텔 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수 www.acmicpc.net ICPC 예선 기출문제 중 제일 쉬운 문제이다. N이 H로 딱 떨어지는 경우만 유의해주자!! #include using namespace std; int T,H,W,N; int hotel[100][100]; int X, Y; int main() { cin >> T; while (T--) { cin >> H >> W >> N; Y = (N % H==0? H : N % H); X = (N.. 2021. 9. 2.
[백준] 14503번 : 로봇 청소기 (C++) (삼성 SW역량 기출) https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 삼성 SW역량 기출문제로 오랜만에 다시 풀어보았다. 많이 나오는 구현 문제이다! 설명은 주석으로 대체 :) #include using namespace std; int N, M; int R, C, D; int map[50][50]; int dx[4] = { -1,0,1,0 }; //0:북, 1:동, 2:남 , 3:서 int dy[4] = { 0,1,0,-1 }; int cnt = 0; //청소 .. 2021. 8. 30.
[백준] 15685번 : 드래곤 커브 (C++) https://www.acmicpc.net/problem/15685 15685번: 드래곤 커브 첫째 줄에 드래곤 커브의 개수 N(1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 드래곤 커브의 정보가 주어진다. 드래곤 커브의 정보는 네 정수 x, y, d, g로 이루어져 있다. x와 y는 드래곤 커 www.acmicpc.net 삼성 SW 역량 테스트 기출문제이다. 드래곤 커브의 방향은 다음과 같다. 0 (동쪽) 1 (북쪽) 2 (서쪽) 3 (남쪽) 그리고 각 세대의 드래곤 커브는 일정한 방향 규칙을 갖는다. 0세대 : 0 1세대 : 0 1 2세대 : 0 1 2 1 3세대 : 0 1 2 1 2 3 2 1 4세대 : 0 1 2 1 2 3 2 1 2 3 0 3 2 3 2 1 N세대 : (N-1)세대.. 2021. 8. 29.
[백준] 1793번:타일링 (C++) https://www.acmicpc.net/problem/1793 1793번: 타일링 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 숫자 0 ≤ n ≤ 250이 주어진다. www.acmicpc.net 이 문제 점화식은 간단하다. 2x1칸이 오른쪽에 추가 되었을때, 새롭게 타일을 채우는 방법은 총 3가지 케이스이다. 추가 후 현재 타일이 2xN 이라고 할때, 1. 기존 2x(N-1) 타일 + 1개의 2x1 타일 2. 기존 2x(N-2) 타일 + 2개의 1x2 타일 3. 기존 2x(N-2) 타일 + 1개의 2X2 타일 즉, dp[N]가 2 X N 타일을 채우는 방법의 수라고 할때 점화식은 다음과 같다. dp[i] = dp[i-1] + dp[i-2] + dp[.. 2021. 8. 21.