목록전체 글 (233)
Life Engineering
https://programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr #include #include #include using namespace std; int solution(vector priorities, int location) { int answer = 0; queue q; priority_queue pq; for (int i=0; i
https://www.acmicpc.net/problem/21609 21609번: 상어 중학교 상어 중학교의 코딩 동아리에서 게임을 만들었다. 이 게임은 크기가 N×N인 격자에서 진행되고, 초기에 격자의 모든 칸에는 블록이 하나씩 들어있고, 블록은 검은색 블록, 무지개 블록, 일반 블록 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 }; struct blockGroup { vector members; int num_rainbow; pair standard_block; bool operator b.standard_bloc..
https://programmers.co.kr/learn/courses/30/lessons/42746?language=cpp# 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr #include #include #include using namespace std; struct{ bool operator()(string a, string b) const{ return a+b>b+a; } } cmp; string solution(vector number..
https://programmers.co.kr/learn/courses/30/lessons/42842?language=cpp 코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 programmers.co.kr #include #include using namespace std; vector solution(int brown, int yellow) { vector answer; int sero=1; int garo=((brown+4)/2)-sero; while (garo>=sero){ if (garo*sero==brown+yellow){ an..
https://programmers.co.kr/learn/courses/30/lessons/42578 from collections import defaultdict def solution(clothes): answer = 1 clothing=defaultdict(int) for name, kind in clothes: clothing[kind]+=1 for kind in clothing: answer*=(clothing[kind]+1); return answer-1; 처음엔 옷 종류 조합을 구해서 각 옷 종류 별 수를 곱해주려다가, 조합을 사용하니 1번 테케에서 시간초과가 발생했다. 그래서 조합을 사용하지 않고, (옷 종류 별 옷 수+1) 를 옷 종류 별로 다 곱해준다. +1 해준것은 해당 옷 종류를 ..
https://www.acmicpc.net/problem/19236https://www.acmicpc.net/problem/19236 19236번: 청소년 상어 첫째 줄부터 4개의 줄에 각 칸의 들어있는 물고기의 정보가 1번 행부터 순서대로 주어진다. 물고기의 정보는 두 정수 ai, bi로 이루어져 있고, ai는 물고기의 번호, bi는 방향을 의미한다. 방향 bi는 www.acmicpc.net #include #include #include #include using namespace std; int dx[8] = { -1,-1,0,1,1,1,0,-1 }; int dy[8] = { 0,-1,-1,-1,0,1,1,1 }; struct fish { int num; int pos; }; struct info ..
https://www.acmicpc.net/problem/21608 21608번: 상어 초등학교 상어 초등학교에는 교실이 하나 있고, 교실은 N×N 크기의 격자로 나타낼 수 있다. 학교에 다니는 학생의 수는 N2명이다. 오늘은 모든 학생의 자리를 정하는 날이다. 학생은 1번부터 N2번까지 번호 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 classroom[21][21] = { 0, }; struct info { int like, vacant, row, col; bool operator b.col;//열 오..
https://www.acmicpc.net/problem/17779 17779번: 게리맨더링 2 재현시의 시장 구재현은 지난 몇 년간 게리맨더링을 통해서 자신의 당에게 유리하게 선거구를 획정했다. 견제할 권력이 없어진 구재현은 권력을 매우 부당하게 행사했고, 심지어는 시의 이름 www.acmicpc.net #include #include #include #include #include using namespace std; int N; int A[21][21]; int ans = 987654321; int graph[21][21]; //x,y,d1,d2 가능한 조건인지 체크 bool isPossible(int x, int y, int d1, int d2) { if (x + d1 + d2 > N) { ret..
https://programmers.co.kr/learn/courses/30/lessons/43164 코딩테스트 연습 - 여행경로 [["ICN", "SFO"], ["ICN", "ATL"], ["SFO", "ATL"], ["ATL", "ICN"], ["ATL","SFO"]] ["ICN", "ATL", "ICN", "SFO", "ATL", "SFO"] programmers.co.kr from collections import defaultdict, deque def solution(tickets): answer = [] neighbors=defaultdict(list) for start, end in tickets: neighbors[start].append(end) q=deque() q.append((["..
https://programmers.co.kr/learn/courses/30/lessons/86971?language=python3 코딩테스트 연습 - 9주차_전력망을 둘로 나누기 9 [[1,3],[2,3],[3,4],[4,5],[4,6],[4,7],[7,8],[7,9]] 3 7 [[1,2],[2,7],[3,7],[3,4],[4,5],[6,7]] 1 programmers.co.kr adj=[[] for _ in range(101)] visit=[] def dfs(i): visit[i]=True; for t in adj[i]: if not visit[t]: dfs(t) def check(n, visit): cnt=0 for i in range(1,n+1): if visit[i]: cnt+=1 return ..