본문 바로가기

전체 글274

14930🐨구슬 (BEAD)-파이 구슬 (BEAD)시간 제한메모리 제한2 초512 MB문제물리를 사랑하는 민준이는 집에 마찰이 없는 무한한 수직선과 완전탄성충돌을 하고 질량이 동일하며 크기를 무시할 수 있는 구슬 N(1 ≤ N ≤100,000)개를 구비해놓고 있다. 어느 날 민준이는 모션캡처분석기기를 활용하기 위해 N개의 구슬 중 하나만 빨간색으로 색칠한 뒤 실을 연결해 N중 진자 실험을 하고 있었다. 이를 해석역학적으로 분석하며, r과 θ의 관계를 파악하던 중 구슬의 질량에 의한 장력을 이기지 못한 실들이 한 번에 끊어져 수직선 위에 널부러지게 되었다. 각각 다른 위치 xi에 떨어져 저마다의 초속도 vi를 가지고 운동하게 된 구슬을 보며 민준이는 가슴 아파 했지만 곧 새로운 물리 문제를 떠올리는 데에 성공한다! 바로 t(1 ≤ t ≤1.. 2025. 1. 27.
32777번 가희와 서울 지하철 2호선 가희와 서울 지하철 2호선서울 지하철 2호선은 3개의 노선으로 이루어져 있으며, 순환선을 운행하는 열차는 내선 순환과 외선 순환 중 하나의 방향으로 운행합니다.노선 정보본선 순환선: 201번 역부터 243번 역까지 총 43개 역신정지선 (신도림 ~ 까치산)성수지선 (성수 ~ 신설동)내선 순환 열차의 인접역은 아래와 같습니다:243번 역의 인접역은 201번 역입니다.i번 역의 인접역은 i+1번 역입니다. (단, 201 ≤ i ≤ 242)외선 순환 열차의 인접역은 아래와 같습니다:201번 역의 인접역은 243번 역입니다.i번 역의 인접역은 i-1번 역입니다. (단, 202 ≤ i ≤ 243)문제 설명가희는 2호선만을 이용하여 a번 역에서 b번 역으로 이동하려고 합니다. 마침, 외선 순환 열차와 내선 순환 열.. 2025. 1. 23.
백준#9291🐨스도쿠 채점::s4-파이썬 스도쿠 채점 프로그램스도쿠는 일본어로 "수독(數獨)"을 읽은 것이며, 9x9 격자판에서 다음 조건을 만족하도록 숫자를 채워 넣는 게임입니다:각 정수 1-9는 각 행에 정확히 한 번씩 등장해야 합니다.각 정수 1-9는 각 열에 정확히 한 번씩 등장해야 합니다.각 정수 1-9는 각 작은 3x3 정사각형에 정확히 한 번씩 등장해야 합니다.남규는 스도쿠를 풀었지만, 그것이 올바른 정답인지 확인하는 데 어려움을 겪고 있습니다. 이에 따라 완성된 스도쿠 판이 정답인지 확인하는 프로그램을 작성해야 합니다.입력입력의 첫 줄에는 테스트 케이스의 개수가 주어집니다.각 테스트 케이스는 9개의 줄로 이루어져 있으며, 각 줄에는 9개의 정수가 공백으로 구분되어 있습니다. 각 정수는 1 이상 9 이하입니다.테스트 케이스 사이에는.. 2025. 1. 22.
15889🐨호 안에 수류탄이야!!-파이썬-스위핑 호 안에 수류탄이야!!"호 안에 수류탄!!"대한건아 욱제는 수류탄 투척 훈련을 받고 있다. 욱제를 필두로, 훈련장에는 욱제를 포함한 N명의 전우들이 일렬(1열 횡대)로 서 있다. 군대에 끌려온 사실에 심술이 난 욱제는 수류탄의 안전핀을 뽑아 전우에게 던졌다. 마찬가지로 심술이 난 전우들도 욱제가 던진 수류탄을 받아 전우들에게 던지기 시작했다.이제 수류탄은 뜨거운 감자처럼 욱제와 전우들 사이를 옮겨 다닌다. 전우들은 팔 힘이 모두 다르기 때문에 수류탄을 던질 수 있는 사거리도 모두 다르다. 욱제와 전우들이 가지고 노는 훈련용 수류탄은 바닥에 떨어지기 전에는 절대 터지지 않는 특수한 수류탄이다.욱제와 전우들은 특급 전사이기 때문에 사거리 내에 있는 누구에게나 정확히 수류탄을 던질 수 있고, 마찬가지로 정확히.. 2025. 1. 22.
🐨이진 검색 트리 이진 검색 트리이 문제는 배열 P를 사용하여 이진 검색 트리를 생성한 후, 모든 노드의 높이 합을 구하는 알고리즘을 구현하는 문제입니다. 문제 원문은 아래와 같습니다:문제 원문시간 제한: 2 초메모리 제한: 256 MB문제:P는 크기가 N인 배열이다. P에는 0보다 크거나 같고, N-1보다 작거나 같은 정수가 중복 없이 채워져 있다. 이진 검색 트리는 루트가 있는 이진 트리로, 각각의 노드에 정수 값이 저장되어 있는 트리이다. 이진 검색 트리를 P배열을 이용해서 만드는 법은 다음과 같다. 일단 root를 만들고 거기에 P[0]의 값을 넣은 후에 다음과 같은 과정을 거친다.for (int i=1; iN과 배열 P에 있는 수가 주어졌을 때, P로 이진 검색 트리를 만들었을 때 모든 노드의 높이의 합을 출력하.. 2025. 1. 19.
백준1238🐨파티-다익스트라 알고리즘 파티N개의 숫자로 구분된 각각의 마을에 한 명의 학생이 살고 있다.어느 날 이 N명의 학생이 X (1 ≤ X ≤ N)번 마을에 모여서 파티를 벌이기로 했다. 이 마을 사이에는 총 M개의 단방향 도로들이 있고 i번째 길을 지나는데 Ti(1 ≤ Ti ≤ 100)의 시간을 소비한다.각각의 학생들은 파티에 참석하기 위해 걸어가서 다시 그들의 마을로 돌아와야 한다. 하지만 이 학생들은 워낙 게을러서 최단 시간에 오고 가기를 원한다. 이 도로들은 단방향이기 때문에 아마 그들이 오고 가는 길이 다를지도 모른다. N명의 학생들 중 오고 가는데 가장 많은 시간을 소비하는 학생은 누구일지 구하여라.입력첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 10,000), X가 공백으로 구분되어 입력된다. 두 번째 줄.. 2025. 1. 19.
백준32283🐨진수 정렬 (Easy)-비트 연산 진수 정렬 (Easy)한별이는 길이 N의 이진수를 모두 모은 뒤 특별한 방식으로 정렬하여 사용하려 한다.정렬 기준은 다음과 같다:이진수 내의 1의 개수로 오름차순 정렬한다.1의 개수가 같다면 이진수를 뒤집었을 때의 오름차순으로 정렬한다.예를 들어, N이 3일 때 이진수는 다음 순서로 정렬된다:000100010001110101011111어느 날 친구 선린이가 찾아와 길이가 N인 이진수 하나를 주며 몇 번째 위치에 있는지 알려달라고 했다. 하지만 한별이는 다른 일이 많아 아직 이진수들을 정렬하지 못했다. 한별이를 도와주자!입력첫째 줄에 이진수의 길이 N이 주어진다.둘째 줄에 길이 N의 이진수 S가 주어진다.이진수는 0으로 시작할 수 있다.출력주어진 이진수와 길이가 같은 모든 이진수를 정렬하였을 때, 주어진 .. 2025. 1. 19.
백준2166🐨다각형의 면적-신발끈 공식 2차원 평면상에 N(3 ≤ N ≤ 10,000)개의 점으로 이루어진 다각형이 있다. 이 다각형의 면적을 구하는 프로그램을 작성하시오.입력첫째 줄에 N이 주어진다. 다음 N개의 줄에는 다각형을 이루는 순서대로 N개의 점의 x, y 좌표가 주어진다. 좌표값은 절댓값이 100,000을 넘지 않는 정수이다.출력첫째 줄에 면적을 출력한다. 면적을 출력할 때에는 소수점 아래 둘째 자리에서 반올림하여 첫째 자리까지 출력한다.제약 조건시간 제한2 초메모리 제한128 MB예제 입력/출력입력40 00 1010 1010 0출력100.0def s(): n,*p=map(int,open(0).read().split()) a=sum(p[i]*p[i+3]-p[i+2]*p[i+1]for i in range(0,2*n-2,2.. 2025. 1. 19.
백준2526🐨싸이클 .py 싸이클시간 제한: 1 초   메모리 제한: 128 MB문제두 자연수 N과 P를 가지고 다음 과정을 거쳐서 나오는 수를 차례대로 출력해보자. 처음 출력하는 수는 N이고, 두 번째 이후 출력하는 수는 N을 곱하고 P로 나눈 나머지를 구하는 과정을 반복하여 구한다. 즉, 먼저 N에 N을 곱하고, 이 수를 P로 나눈 나머지를 두 번째에 출력한다. 다음에는 이 나머지에 N을 곱하고 P로 나눈 나머지를 출력한다. 다음에는 이 나머지에 N을 곱한 후 P로 나눈 나머지를 출력한다. 이 과정을 계속 반복해보면 출력되는 수열에는 반복되는 부분이 있다.예를 들어서, N = 67, P = 31인 경우를 생각해보자. 처음 출력되는 수는 67이고, 두 번째로 출력되는 수는 67×67 = 4489를 31로 나눈 나머지 25이다. .. 2025. 1. 15.
memoryview memoryview는 파이썬의 버퍼 프로토콜을 통해 배열이나 바이트열 등의 내부 메모리에 직접 접근하는 기능을 제공하여, 대용량 데이터를 다룰 때 복사를 최소화해 성능을 향상시킬 수 있는 것이 핵심이다. 이를 입출력에 활용하면 빠른 IO를 구현하는 데 도움을 받을 수 있다.다만 다음과 같은 점들을 유의하는 것이 좋다.버퍼 프로토콜을 지원하는 객체에 한정memoryview는 버퍼 프로토콜을 지원하는 객체(예: bytes, bytearray, array.array, numpy.ndarray 등)에 대해서만 사용할 수 있다. 전통적인 list나 tuple에는 사용할 수 없다.제로 카피(Zero Copy)와 빠른 슬라이싱memoryview를 사용하면 데이터를 슬라이싱할 때 추가 복사가 발생하지 않는다. 큰 바이.. 2025. 1. 13.
백준15719🐨중복된 숫자 인풋을 받았을 때 표준입력 버퍼의 상태 변화알 수 있는 점input()과 표준 입력 버퍼의 상관관계input() 함수는 표준 입력 버퍼에서 데이터를 한 줄 단위로 읽어오며, 입력이 버퍼에서 처리된 이후에는 다음 읽기에서 이전 데이터를 사용할 수 없다.입력이 input()에 의해 처리된 이후 남아있는 입력이 없다면, 후속 표준 입력 함수는 빈 데이터를 반환하거나 에러를 발생시킬 수 있다.open(0)과 표준 입력 처리open(0)을 통해 표준 입력을 파일 객체로 열면, 사용된 메소드(read()/readline())에 따라 데이터의 처리 범위와 버퍼 상태가 달라진다.여러 번 표준 입력을 읽으려고 하면 에러(예: Bad file descriptor)가 발생한다.os.read()와 바이트 데이터 처리os.re.. 2025. 1. 10.
순열 사이클 분할:백준 25577, 7805, 10451 1. 기본 개념순열 $(a_1, a_2, \dots, a_n)$이 주어졌을 때, 이를 함수 $f(i)$로 표현할 수 있다. 여기서 $f(i)$는 $i$번째 원소를 다른 원소의 위치로 매핑하는 함수이다.예를 들어, 순열 $(2, 3, 1)$이 있다면:$f(1) = 2$: 첫 번째 위치의 원소는 두 번째 위치로 간다.$f(2) = 3$: 두 번째 위치의 원소는 세 번째 위치로 간다.$f(3) = 1$: 세 번째 위치의 원소는 첫 번째 위치로 간다.2. 함수의 반복적 적용$f^2(i) = f(f(i))$: 함수 $f$를 두 번 적용한 결과이다.$f^k(i)$: $f$를 $k$번 반복 적용한 결과이다.만약 $i = f^k(i)$가 되는 최소 $k$를 찾으면, 이는 $i$가 순환하는 주기이다.3. 순열 사이클$i.. 2025. 1. 9.
백준12933🐨오리-파이썬 오리시간 제한메모리 제한제출정답맞힌 사람정답 비율2 초512 MB63812140162433.826%문제오리의 울음 소리는 "quack"이다. 올바른 오리의 울음 소리는 울음 소리를 한 번 또는 그 이상 연속해서 내는 것이다. 예를 들어, "quack", "quackquackquackquack", "quackquack"는 올바른 오리의 울음 소리이다.영선이의 방에는 오리가 있는데, 문제를 너무 열심히 풀다가 몇 마리의 오리가 있는지 까먹었다.갑자기 영선이의 방에 있는 오리가 울기 시작했고, 이 울음소리는 섞이기 시작했다. 영선이는 일단 울음소리를 녹음했고, 나중에 들어보면서 총 몇 마리의 오리가 있는지 구해보려고 한다.녹음한 소리는 문자열로 나타낼 수 있는데, 한 문자는 한 오리가 낸 소리이다. 오리의 울.. 2025. 1. 4.
백준9465🐨스티커🚀동적프로그래밍 문제상근이의 여동생 상냥이는 문방구에서 스티커 2n개를 구매했다. 스티커는 그림 (a)와 같이 2행 n열로 배치되어 있다. 상냥이는 스티커를 이용해 책상을 꾸미려고 한다.상냥이가 구매한 스티커의 품질은 매우 좋지 않다. 스티커 한 장을 떼면, 그 스티커와 변을 공유하는 스티커는 모두 찢어져서 사용할 수 없게 된다. 즉, 뗀 스티커의 왼쪽, 오른쪽, 위, 아래에 있는 스티커는 사용할 수 없게 된다.모든 스티커를 붙일 수 없게된 상냥이는 각 스티커에 점수를 매기고, 점수의 합이 최대가 되게 스티커를 떼어내려고 한다. 먼저, 그림 (b)와 같이 각 스티커에 점수를 매겼다. 상냥이가 뗄 수 있는 스티커의 점수의 최댓값을 구하는 프로그램을 작성하시오. 즉, 2n개의 스티커 중에서 점수의 합이 최대가 되면서 서로 .. 2024. 12. 25.
업사이클링 DIY http://milkyproject.com/ 밀키 미니소품상자 우유팩 업사이클링 키트업사이클링을 직접 체험해 볼 수 있는 올인원 D.I.Y. 체험키트. 악세사리, 동전, 열쇠 등, 잃어버리기 쉬운 작은물건들을 보관할 수 있는 미니소품 상자. _’진짜’ 우유팩을 활용한 업사이클링 체101box.co.kr  밀키 미니소품상자 우유팩 업사이클링 키트업사이클링을 직접 체험해 볼 수 있는 올인원 D.I.Y. 체험키트. 악세사리, 동전, 열쇠 등, 잃어버리기 쉬운 작은물건들을 보관할 수 있는 미니소품 상자. _’진짜’ 우유팩을 활용한 업사이클링 체101box.co.krhttps://101box.co.kr/product/detail.html?product_no=5856&cate_no=291&display_group=.. 2024. 12. 20.
엔트리 수치 예측 2024. 12. 13.
solved.ac https://help.solved.ac/ solved.ac HelpHelp documentation for solved.achelp.solved.ac 효율적인 문제 풀이와 학습을 위한 도구: solved.ac 소개코딩 테스트와 알고리즘 공부를 할 때 많은 개발자와 학생들이 사용하는 사이트가 백준 온라인 저지(Baekjoon Online Judge)이다. 하지만 난이도가 표시되지 않아서 수많은 문제 중에서 자신에게 맞는 문제를 찾는 것은 쉽지 않다. 이를 도와주는 도구가 바로 solved.ac이다. 오늘은 solved.ac의 주요 기능들을 통해 백준 문제 풀이를 효과적으로 도와주는 방법을 소개한다.이 사이트는 백준 온라인 저지를 위해 동기를 만들어 준다고 볼 수 있는데난이도 책정 및 표시,고급 검색,랭킹.. 2024. 11. 28.
온라인 저지 문제풀이용 IDE TIO지금 메인으로 쓰는 IDE이다.장점- 테스트 데이터를 매번 입력할 필요 없이 고정해놓고 테스트 할 수 있다.- 수없이 많은 종류의 언어를 사용할 수 있다.- 웹 브라우저에서 아무 것도 설치하지 않고 쓸 수 있다.- 속도를  측정해준다.단점- 자동 탭이나 자동 서식, 괄호 자동완성이나 괄호 짝 표시 등이 아무 것도 안 된다.(심지어 탭 키는 기본 8자)- 블록지정 후 블록 탭 조절도 안 된다.- 따로 복사해서 저장하지 않으면 작성내용이 날아간다.- 변수명 일괄 수정이 안 된다.-예약어 등의 색상 하이라이팅이나 괄호매칭 표시, 실시간 오류검출 등이 없다.사용 방법- 680개의 언어 중 내가 사용할 언어를 선택한다.언어를 선택한 후 나온 주소를 즐겨찾기에 등록해놓고 쓰면 된다.(파이썬만 해도 종류가 많다.. 2024. 11. 27.