목록전체 글 (233)
Life Engineering
https://programmers.co.kr/learn/courses/30/lessons/81302 코딩테스트 연습 - 거리두기 확인하기 [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX", "OXOXP", "OXPOX", "OXXOP", "PXPOX"], ["OOOXX", "XOOOX", "OOOXX", "OXOOX", "OOOOO"], ["PXPXP", "XPXPX", "PXPXP", "XPXPX", "PXPXP"]] [1, 0, 1, 1, 1] programmers.co.kr #include #include #define N 5 using namespace std;..
https://www.acmicpc.net/problem/14890 14890번: 경사로 첫째 줄에 N (2 ≤ N ≤ 100)과 L (1 ≤ L ≤ N)이 주어진다. 둘째 줄부터 N개의 줄에 지도가 주어진다. 각 칸의 높이는 10보다 작거나 같은 자연수이다. www.acmicpc.net #include #include #include #include #define ROW 0 #define COL 1 using namespace std; int graph[100][100]; bool isksr[100]; bool findRoad(int num, int rc, int N, int L) { memset(isksr, false, sizeof(isksr)); if (rc == 0) { int prev = gra..
https://programmers.co.kr/learn/courses/30/lessons/17677 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr #include #include #include #include using namespace std; map m; bool check(string s){ return islower(s[0]) && islower(s[1]); } void makemap(string str, int v){ string temp; for (int i=0; ifir..
https://www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net #include #include #include #include #include using namespace std; int dx[4]={-1,1,0,0}; int dy[4]={0,0,-1,1}; int graph[500][500]; struct mino{ int sum; int cnt; int py, px; int y,x; }; int bfs(int y, int x, int N, int M){ ..
https://www.acmicpc.net/problem/13460 13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net #include #include #include #include #include using namespace std; int dy[4] = { -1,1,0,0 }; int dx[4] = { 0,0,-1,1 }; string graph[10]; bool visited[10][10][10][10]; class Info { public: int ry, ..
https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net #include #include #include #include #include #include using namespace std; int dx[4] = { -1,1,0,0 }; int dy[4] = { 0,0,-1,1 }; int graph[50][50]; bool visited[50][50]; class Info { public: int r; int c; int d; Info(int r, ..
https://programmers.co.kr/learn/courses/30/lessons/60058 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr #include #include #include using namespace std; bool isCorrect(string p){ stack s; for (char c: p){ if (c=='(') s.push(c); else{ if (s.empty()) return false; else s.pop(); } } return true; } string conver..
https://programmers.co.kr/learn/courses/30/lessons/77485 코딩테스트 연습 - 행렬 테두리 회전하기 6 6 [[2,2,5,4],[3,3,6,6],[5,1,6,3]] [8, 10, 25] 3 3 [[1,1,2,2],[1,2,2,3],[2,1,3,2],[2,2,3,3]] [1, 1, 5, 3] programmers.co.kr #include #include #include using namespace std; int matrix[101][101]; int move(int x1, int y1, int x2, int y2){ int x=x1; int y=y1; int temp=matrix[x1+1][y1]; int val; vector v; while (yx1){ va..
https://programmers.co.kr/learn/courses/30/lessons/12973# 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr #include #include #include using namespace std; int solution(string s) { stack st; int pos=0; while (pos문자를 넣어주고 스택의 탑과 지금 넣으려는 애가 같으면->스택의 탑을 pop 해준다(짝지어 제거하는 방식) 서로 다르면=>그 문자를 push 해준다 다음 문자로 이..
https://programmers.co.kr/learn/courses/30/lessons/49189 코딩테스트 연습 - 가장 먼 노드 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 programmers.co.kr #include #include #include #include #define MAX 987654321 using namespace std; class Node{ public: int id; int cost; Node(int id, int cost) : id(id), cost(cost) {} }; struct compare{ bool operator()(Node a, Node b){ return a.cost>b.cost; } }; ..