본문 바로가기
728x90
반응형

분류 전체보기115

백준 큐빙 [5373] 파이썬(Python) 코드 + 해설 문제 소개루빅스 큐브는 3×3×3 크기의 퍼즐로, 각 면이 9개의 스티커로 구성되어 있다. 각 면은 고유한 색상을 가지며, 큐브를 회전시켜 모든 면의 색상을 동일하게 만드는 것이 목표이다.이 문제에서는 풀려 있는 상태의 큐브에서 주어진 회전 명령을 수행한 후, 윗면의 색상을 출력해야 한다. 초기 상태에서 각 면의 색상은 다음과 같다:윗면(U): 흰색(w)아랫면(D): 노란색(y)앞면(F): 빨간색(r)뒷면(B): 주황색(o)왼쪽 면(L): 초록색(g)오른쪽 면(R): 파란색(b)문제 해결 접근큐브의 회전은 특정 면을 시계 방향(+) 또는 반시계 방향(-)으로 90도 회전시키는 것이다. 회전을 수행하면 해당 면뿐만 아니라 인접한 면들의 스티커도 변화한다.따라서, 큐브의 상태를 정확하게 표현하고 회전 명령을.. 2024. 11. 1.
백준 치킨 배달 [15686] 파이썬(Python) 코드 + 해설 문제 설명도시가 N×N 크기의 2차원 격자로 주어집니다. 각 칸에는 빈 칸(0), 집(1), 치킨집(2) 중 하나가 있다.도시의 치킨 거리는 모든 집의 치킨 거리의 합입니다. 여기서 치킨 거리는 집과 가장 가까운 치킨집 사이의 거리이다.프랜차이즈 본사에서는 수익을 극대화하기 위해 일부 치킨집을 폐업시키려고 한다. 최대 M개의 치킨집을 남기고 나머지는 폐업시킬 수 있다. 이때, 도시의 치킨 거리를 최소화하는 방법을 찾는 것이 문제의 목표이다.입력 및 제한 조건첫째 줄: N(2 ≤ N ≤ 50), M(1 ≤ M ≤ 13)둘째 줄부터 N개의 줄에 도시 정보가 주어진다.0: 빈 칸1: 집 (집의 개수는 최소 1개 이상, 최대 2N개 이하)2: 치킨집 (치킨집의 개수는 M 이상, 13 이하)목표폐업시키지 않을 M.. 2024. 10. 31.
백준 드래곤 커브 [15685] 파이썬(Python) 코드 + 해설 문제 설명드래곤 커브는 시작 점, 시작 방향, 세대를 가진다. 0세대 드래곤 커브는 길이가 1인 선분이며, 이후 세대는 이전 세대의 드래곤 커브를 끝점을 기준으로 시계 방향으로 90도 회전한 후, 끝점에 붙여서 만든다.주어진 여러 개의 드래곤 커브를 그린 후, 좌표 평면 위에서 네 꼭짓점이 모두 드래곤 커브의 일부인 1×1 크기의 정사각형의 개수를 구하는 문제이다.입력첫째 줄: 드래곤 커브의 개수 N (1≤N≤20)다음 N개의 줄: 각 드래곤 커브의 정보 x,y,d,gx,y: 드래곤 커브의 시작 점 (0≤x,y≤100)d: 시작 방향 (0≤d≤3)0: 오른쪽 (→)1: 위쪽 (↑)2: 왼쪽 (←)3: 아래쪽 (↓)g: 세대 (0≤g≤10)출력네 꼭짓점이 모두 드래곤 커브의 일부인 1×1 크기의 정사각형의.. 2024. 10. 31.
백준 사다리 조작 [15684] 파이썬(Python) 코드 + 해설 이 문제는 메모리 초과와 시간 초과가 굉장히 많이 나는 문제입니다. 문제 소개사다리 조작은 세로선과 가로선으로 이루어진 사다리 게임을 조작하여, 각 세로선의 결과가 자기 자신이 되도록 만드는 문제입니다. 세로선의 개수 N, 가로선을 놓을 수 있는 위치의 개수 H, 이미 놓인 가로선의 개수 M이 주어집니다. 최대 3개의 가로선을 추가하여 원하는 결과를 얻을 수 있는 최소의 가로선 개수를 구하는 것이 목표입니다.입력 조건:세로선의 개수 N: 2≤N≤102 가로선을 놓을 수 있는 위치의 개수 H: 1≤H≤30이미 놓인 가로선의 정보 M개출력 조건:추가해야 하는 가로선의 최소 개수 (단, 3개를 초과하면 -1을 출력) 문제 분석이 문제는 가능한 모든 가로선의 조합을 탐색하여 원하는 결과를 찾는 완전 탐색(Bru.. 2024. 10. 30.
백준 감시 [15683] 파이썬(Python) 코드 + 해설 문제 설명사무실은 N×M 크기의 격자로 표현됩니다.N,M ≤ 8이므로 격자의 크기는 최대 8 × 8 입니다.격자의 각 칸에는 다음 중 하나가 있습니다:빈 칸 (0): 아무것도 없는 공간입니다.벽 (6): CCTV의 시야를 가로막는 벽입니다.CCTV (1~5): CCTV 카메라가 설치되어 있습니다.CCTV는 총 5가지 종류가 있으며, 각 종류마다 감시할 수 있는 방향이 다릅니다.목표: CCTV의 방향을 적절히 설정하여 사각지대(감시되지 않는 영역)의 최소 크기를 구하는 것입니다.CCTV 종류 및 감시 방향CCTV의 종류에 따라 감시할 수 있는 방향이 정해져 있습니다:1번 CCTV: 한 방향 감시 (총 4가지 경우)2번 CCTV: 두 방향 감시 (서로 반대 방향, 총 2가지 경우)3번 CCTV: 두 방향 감.. 2024. 10. 29.
백준 톱니바퀴 [14891] 파이썬(Python) 코드 + 해설 문제 설명4개의 톱니바퀴가 일렬로 놓여 있습니다.각 톱니바퀴는 8개의 톱니를 가지고 있으며, 톱니는 N극(0) 또는 S극(1)을 가집니다.톱니바퀴는 시계 방향(1) 또는 반시계 방향(-1)으로 회전할 수 있습니다.톱니바퀴가 회전할 때, 인접한 톱니바퀴와 맞닿은 톱니의 극에 따라 인접한 톱니바퀴가 회전할 수 있습니다.맞닿은 톱니의 극이 다르면, 인접한 톱니바퀴는 반대 방향으로 회전합니다.맞닿은 톱니의 극이 같으면, 인접한 톱니바퀴는 회전하지 않습니다.K번의 회전이 주어지며, 각 회전에 대한 톱니바퀴 번호와 회전 방향이 주어집니다.모든 회전이 끝난 후, 각 톱니바퀴의 12시 방향 톱니의 극에 따라 점수를 계산합니다:1번 톱니바퀴: S극이면 1점2번 톱니바퀴: S극이면 2점3번 톱니바퀴: S극이면 4점4번 톱.. 2024. 10. 29.
네이버 증권 파이썬(Python)을 이용하여 주식 정보 크롤링하기(Request, BeautifulSoup) 2편 지난글 보러가기 https://dev-guardy.tistory.com/117 네이버 증권 파이썬(Python)을 이용하여 주식 정보 크롤링하기(Request, BeautifulSoup) 1편오늘은 파이썬을 이용하여 네이버 증권에서 시가총액순으로 나와있는 종목 정보를 크롤링하려고 한다.다음 페이지 주소는 다음과 같다.https://finance.naver.com/sise/sise_market_sum.naver?sosok=0&page=1 시가dev-guardy.tistory.com저번에 만들었던 코드는 다음과 같다.import requestsfrom bs4 import BeautifulSoupimport reresp = requests.get('https://finance.naver.com/sise/sis.. 2024. 10. 28.
네이버 증권 파이썬(Python)을 이용하여 주식 정보 크롤링하기(Request, BeautifulSoup) 1편 오늘은 파이썬을 이용하여 네이버 증권에서 시가총액순으로 나와있는 종목 정보를 크롤링하려고 한다.다음 페이지 주소는 다음과 같다.https://finance.naver.com/sise/sise_market_sum.naver?sosok=0&page=1 시가총액 : 네이버페이 증권관심종목의 실시간 주가를 가장 빠르게 확인하는 곳finance.naver.com보면 sosok이 0인경우 코스피 sosok이 1인경우 코스닥인 것을 확인할 수 있다.이제 크롬 개발자 도구로 소스를 Request된 data를 살펴보면 1 삼성전자 58,300 상승 2,400 +4.29% 100 3,480,3.. 2024. 10. 28.
백준 경사로 [14890] 파이썬(Python) 코드 + 해설 문제 이해하기문제 설명지도 크기: N×N ( 2≤N≤100 2≤N≤100 )각 칸에는 그곳의 높이가 적혀 있습니다 ( 1≤높이≤10 1≤높이≤10 ).길: 한 행 또는 한 열 전체를 말하며, 총 2N개의 길이 있습니다.길을 지나갈 수 있으려면 다음 조건을 만족해야 합니다:길에 속한 모든 칸의 높이가 같거나,경사로를 놓아서 지나갈 수 있어야 합니다.경사로 놓는 조건경사로의 특성:높이: 1길이: L ( 1 ≤ 𝐿 ≤ 𝑁 1≤L≤N )경사로의 개수는 충분히 많습니다.경사로를 놓을 수 있는 조건:경사로는 낮은 칸에 놓이며, L개의 연속된 칸에 경사로의 바닥이 모두 접해야 합니다.낮은 칸과 높은 칸의 높이 차이는 1이어야 합니다.경사로를 놓을 낮은 칸의 높이는 모두 같아야 합니다.이미 경사로를 놓은 곳에는 다.. 2024. 10. 28.
728x90
반응형