Python으로 ps를 진행하는 사람이 많아짐에 따라 이 기능이 필요하다고 생각되어 포스팅 남깁니다. 예시용 코드 여러분께서는 문제를 풀 때 습관처럼 작성하시는 코드가 있으실까요?? import sys input = sys.stdin.readline 위의 코드는 Python에서 값을 입력받을 때 조금이라도 더 향상된 속도로 받을 수 있도록 세팅해 주는 코드죠. 일반 input() 대신에 sys.stdin.readline()으로 입력받도록 설정합니다. 습관처럼 매번 모든 문제에 저런 코드를 작성하시는 분이라면 기존에 작성하신 코드에서 복사 붙여넣기 하시거나 손으로 하나하나 타이핑하시겠죠. Pycharm에서 파이썬 파일을 하나 생성하면 자동으로 저런 코드가 들어가면 편해지지 않을까요?? Pycharm Tem..
백준
https://www.acmicpc.net/problem/17547 17547번: Floor Plan You are an architect and you have just been appointed to build a new swimming hall. The organisation behind these plans has acquired funding for a swimming pool and surrounding building as large as they want, but unfortunately they could not find anyone wi www.acmicpc.net 영어로 된 문제지만 쫄지마세요. n이 주어졌을때 $$ n = m^2-k^2 $$ 위 수식을 만족하는 m과 k를 구하면 됩니..
www.acmicpc.net/problem/2357 2357번: 최솟값과 최댓값 N(1 ≤ N ≤ 100,000)개의 정수들이 있을 때, a번째 정수부터 b번째 정수까지 중에서 제일 작은 정수, 또는 제일 큰 정수를 찾는 것은 어려운 일이 아니다. 하지만 이와 같은 a, b의 쌍이 M(1 ≤ M ≤ 100 www.acmicpc.net 이번에는 이 문제를 풀어볼게요. 세그먼트 트리를 이용해서 최솟값과 최댓값을 구하는 문제입니다. 이론파트에서 너무 누적합 얘기만 해서 찔렸거든요 헣헣 저번에 작성해뒀던 틀에서 조금의 수정으로 풀어보겠습니다. + 연산 대신에 min 연산과 max 연산으로 고치면 되겠네요. 그러면 짜잔~ import math import sys def input(): return sys.stdi..
www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net 구현 문제로 특별한 알고리즘 기법에 대한 사전 지식 없이 풀 수 있는 문제입니다. 문제 설명란 외의 입력란에 있는 조건들도 보면서 풀어주시면 됩니다. 소스 코드 import sys from collections import deque input = sys.stdin.readline n = int(input()) k = int(input()) dx = [0,1,0,-1] dy = [1,0,-1,0] board = [[0..
문제 링크 www.acmicpc.net/problem/10799 10799번: 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저 www.acmicpc.net 문제 요약 '('와 ')'로 이루어진 문자열로 레이저와 쇠막대기의 배치 정보를 준다면 쇠막대기 조각의 총 개수를 구하라. 문제 풀이 문제 속의 그림에 다른 정보들을 추가해보겠습니다. 쇠막대기에 적혀진 숫자들은 잘려진 조각을 세기 위한 숫자입니다. 그 위쪽 괄호와 근접하게 적힌 숫자들은 무엇일까요?? 괄호가 열린 만큼 쇠막대기들이 겹쳐서 쌓여있게 됩니다. 즉 몇겹이 쌓아 올려져 있는지 적어놨습니다. 레이저를 만나..
*포스팅 스타일 변경 친구 : 문제 푼 사람들 다들 천재인가봐 어떻게 저런 접근법을 바로 생각하지?? 난 못하겠던데.. 너무 어려워ㅠㅠ 음.. 친구에게 도움이 될지는 모르겠지만 한 문제를 풀때도 여러 시행착오를 겪은 뒤에 푸는 사람이 있다는 것을 알려주고 싶었습니다. 따라서 문제를 풀때 했던 생각들을 모조리 적어볼까 합니다. 의식의 흐름을 적는거니까 난잡해질 가능성이 있습니다. 문제 링크 www.acmicpc.net/problem/1339 1339번: 단어 수학 첫째 줄에 단어의 개수 N(1 ≤ N ≤ 10)이 주어진다. 둘째 줄부터 N개의 줄에 단어가 한 줄에 하나씩 주어진다. 단어는 알파벳 대문자로만 이루어져있다. 모든 단어에 포함되어 있는 알파벳은 최대 www.acmicpc.net 문제 설명 'N개..
문제 링크 www.acmicpc.net/problem/1946 1946번: 신입 사원 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에 지원자의 숫자 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 각각의 지원자의 서류심사 성 www.acmicpc.net 문제 설명 즉, 어떤 지원자 A의 성적이 다른 어떤 지원자 B의 성적에 비해 서류 심사 결과와 면접 성적이 모두 떨어진다면 A는 결코 선발되지 않는다. 요약을 하자면 저 한 문장으로 대체 가능합니다. 또한 성적이 일반 점수가 아니라 순위이기 때문에 낮을수록 좋습니다. 일반적으로 생각하는 이중 포문으로 푼다면 시간 초과가 뜨기 때문에 '그리디' 스럽게 풀어내야 합니다. 접근 방법 ..
https://www.acmicpc.net/problem/9020 9020번: 골드바흐의 추측 문제 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수 www.acmicpc.net 2 이상의 짝수는 2개의 소수를 더한 값과 같다는 내용입니다. 그렇다면 어떤 소수의 합으로 표현이 가능한가? 만약에 여러 경우가 존재한다면 그중에서 소수끼리의 차이가 가장 적은 것으로 출력하시오. 접근 단계 n까지의 소수를 구한다 가능한 소수 합의 조합을 구한다. 여러개라면 이 중에서 차이가 가장 적은 것을 출력한다. 시간 초과 난 소스 코드 1 2 3 4 5 6 7 8 9 1..
https://www.acmicpc.net/problem/10610 10610번: 30 문제 어느 날, 미르코는 우연히 길거리에서 양수 N을 보았다. 미르코는 30이란 수를 존경하기 때문에, 그는 길거리에서 찾은 수에 포함된 숫자들을 섞어 30의 배수가 되는 가장 큰 수를 만들고 싶� www.acmicpc.net 문제 요약 입력받은 값으로 만들어낼 수 있는 수가 30의 배수라면 그중 가장 큰 값을, 배수가 아니라면 -1을 출력하라. 접근법 문제 분류를 보면 정수론이라고 되어있습니다. 위키 피디아에 따르면 '정수론(整數論, 영어: number theory) 또는 수론(數論)은 수학의 한 분야로, 각종 수의 성질을 대상으로 한다' 라는 군요. 30의 특성을 파악해봅시다. 30은 일단 뒤에 0이 없으면 안 되..
https://www.acmicpc.net/problem/2217 2217번: 로프 N(1≤N≤100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하지만 www.acmicpc.net 문제 여러 개의 로프를 병렬로 연결하면 각각의 로프에 걸리는 중량을 나눌 수 있다. k개의 로프를 사용하여 중량이 w인 물체를 들어 올릴 때, 각각의 로프에는 모두 고르게 w/k 만큼의 중량이 걸리게 된다. 각 로프들에 대한 정보가 주어졌을 때, 이 로프들을 이용하여 들어올릴 수 있는 물체의 최대 중량을 구해내는 프로그램을 작성하시오. 모든 로프를 사용해야 할 필요는 없으며, 임의로 몇 개의..