[백준 15683] 파이썬 - 감시
https://www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감 www.acmicpc.net # 조건 사무실은 1x1 크기의 정사각형으로 나누어져 있는 N x M 크기의 직사각형으로 나타낼 수 있다. 총 K개의 CCTV가 있는데 5종류가 존재 한 쪽 방향 서로 반대방향인 두 방향 - 상하, 좌우 서로 직각인 두 방향 - 좌상, 좌하, 우상, 우하 세 방향 감시 네 방향 검사 검사할 수 있는 방향에 있는 칸 전체를 감시 가능 벽은 통과하지 못한다. 지도에서 0은 빈 칸, 6은 벽..
2022.09.28
[백준 1107번] 파이썬 - 리모컨
https://www.acmicpc.net/problem/1107 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼 www.acmicpc.net # 조건 버튼은 0~9까지의 숫자와 +, - 버튼 + 버튼은 1채널 위로, -는 1채널 아래로, 채널은 무한대이며 0아래로는 안 내려간다. 이동하려고 하는 채널 N까지 최소 눌러야하는 버튼 수를 구하여라. # 접근 방법 눌릴 수 있는 버튼에 한해서 제일 가까운 채널까지 이동한다. 이 때 누르는 버튼 수는 이동채널의 길이와 같다. 그 이후에는 +와 -버튼을 이용할 수 밖에 없으므로 ..
2022.09.22
[백준18111번] 파이썬 - 마인크래프트
https://www.acmicpc.net/problem/18111 18111번: 마인크래프트 팀 레드시프트는 대회 준비를 하다가 지루해져서 샌드박스 게임인 ‘마인크래프트’를 켰다. 마인크래프트는 1 × 1 × 1(세로, 가로, 높이) 크기의 블록들로 이루어진 3차원 세계에서 자유롭게 www.acmicpc.net # 조건 1 x 1 x 1 크기의 블록들로 이루어진 3차원 세계 땅을 고르게 해야 집을 지을 수 있다. 세로 N, 가로 M 크기의 집터 좌표 (i, j)의 가장 위에 있는 블록을 제거하여 인벤토리에 넣는다. 인벤토리에서 블록하나를 꺼내어 좌표 (i, j)의 가장 위에 있는 블록 위에 놓는다. 1번 작업은 2초, 2번 작업은 1초 인벤토리에 B개의 블록 들어있고 256의 높이 초과 불가 걸리는 최..
2022.09.18
[SWEA 1258] 파이썬 - 행렬찾기
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV18LoAqItcCFAZN SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com # 접근 방법 제일 큰 행렬 속 작은 행렬들을 찾는 문제였다. 작은 행렬들을 찾아 개수와, 넓이 순으로 행과 열의 좌표를 출력하면 된다. 작은 행렬의 시작점과 끝점의 인덱스를 기록해주며 2중 for문으로 구현해보려 하였지만 쉽지 않았다. 역시나 이런 행렬 관련 문제는 델타 탐색과 4중 for문으로 먼저 접근하는 것이 빠르다는 것을 느낄 수 있었다. 또한, swea 등 제출 시 제출형식을 잘 맞춰야 ..
2022.08.28
[프로그래머스 lv.1] 파이썬 - 모의고사
https://school.programmers.co.kr/learn/courses/30/lessons/42840 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr # 접근 방법 1. 각 수포자의 정답 반복문을 리스트로 만든 후 answers 배열을 for문 통해 순회 2. 각 수포자의 길이의 나머지로 반환하게 되면 12345 12345와 같이 반복할 수 있다. 3. 답안지와 숫자가 일치하는 경우만 1씩 카운트 해주며 각자 맞춘 개수 기록 4. 제일 많이 맞춘 사람 도출 !! def solution(answers): answer = [] person = [0..
2022.08.26
no image
[백준 2034번] 파이썬-창고 다각형
https://www.acmicpc.net/problem/2304 2304번: 창고 다각형 첫 줄에는 기둥의 개수를 나타내는 정수 N이 주어진다. N은 1 이상 1,000 이하이다. 그 다음 N 개의 줄에는 각 줄에 각 기둥의 왼쪽 면의 위치를 나타내는 정수 L과 높이를 나타내는 정수 H가 한 개의 www.acmicpc.net # 조건 N개의 막대 기둥, 폭은 1m 높이는 다를 수 있음 지붕은 모두 연결되어야하고, 수평부분은 반드시 기둥의 윗면과 닿아야함 수직은 기둥의 옆면과 닿아야함 가장자리는 땅에 닿아야하고 지붕의 어떤 부분도 오목하게 들어가지 않는다. # 접근방법 1. 지붕의 어떤 부분도 오목하게 들어가지 않으므로 지금 높이의 지붕보다 낮은 기둥이 온다면 무시해도 된다. 2. 따라서 각 높이에 대한..
2022.08.26
[백준 7568_덩치] 파이썬 풀이
문제 참고 https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net 키와 몸무게가 주어질 때 두 가지 모두 커야 덩치가 크다. 각각 리스트에 넣어준 후 for문을 이용해 모두 큰 경우에만 카운팅을 해주었다. 하지만 문제에서 원하는 결과는 '내가 몇번 째로 크냐'가 아닌 '나보다 큰 사람이 몇명인가' 였다. N = int(input()) height = [] # 키를 담을 리스트 weight = [] # 몸무게를 담을 리스트 cnt = N f..
2022.08.17
[백준 1057] 파이썬_토너먼트
https://www.acmicpc.net/problem/1057 1057번: 토너먼트 김지민은 N명이 참가하는 스타 토너먼트에 진출했다. 토너먼트는 다음과 같이 진행된다. 일단 N명의 참가자는 번호가 1번부터 N번까지 배정받는다. 그러고 난 후에 서로 인접한 번호끼리 스타를 www.acmicpc.net 우리가 흔히 아는 토너먼트에서 서로가 몇 번만에 만나는지를 출력하는 문제이다. 접근 방법 다음 라운드로 진출하는 참가자는 다시 왼쪽부터 1번, 2번.. 순으로 받는다. 즉, (1 2) (3 4) (5 6) (7 8) (9 10) 이렇게 5개의 조가 있을 때 다음 라운드에 받는 번호는 2/2, 4/2, 6/2, 8/4와 같이 변한다. 또한 연속된 수에서 홀수가 작은 수여야만 만날 수 있다. 서로 번호의 차..
2022.08.09