"꾸준하고 완벽한 한 걸음"

PS 310

[백준 05613] 계산기 프로그램 [Python]

문제덧셈, 뺄셈, 곱셈, 나눗셈을 할 수 있는 계산기 프로그램을 만드시오.입력입력의 각 줄에는 숫자와 +, -, *, /, =중 하나가 교대로 주어진다. 첫 번째 줄은 수이다. 연산자의 우선 순위는 생각하지 않으며, 입력 순서대로 계산을 하고, =가 주어지면, 그때까지의 결과를 출력한다. 주어지는 수는 108 이하의 양의 정수이다. 계산 중 결과는 0 또는 음수가 될 수 있지만, -108 ~ 108 범위를 넘지는 않는다. 또, 나눗셈에서 소수점은 버린다. 따라서, 100/3*3 = 99이다.피제수가 음수일 때 나눗셈을 하는 경우는 입력으로 주어지지 않는다.출력첫째 줄에 계산 결과를 출력한다.풀이단순한 사칙연산 문제다. '='을 입력받을 때까지 수식은 계속된다.나누는 경우에만 소수점을 버린다는 점에 유의하..

[백준 05612] 터널의 입구와 출구 [Python]

문제상근이는 남산1호터널의 입구와 출구에서 1분에 통과하는 차량의 수를 조사했다. 이때, 터널에 차량이 가장 많이 있었을 때, 몇 대 있었는지 구하는 프로그램을 작성하시오.입력첫째 줄에 조사한 시간 n이 주어진다. 둘째 줄에는 조사를 시작할 때, 터널 안에 들어있는 차량의 수 m이 주어진다. 다음 n개 줄의 i번째 줄(i = 1 ~ n)의 정보는 조사를 시작한지 (i-1)분이 경과한 시점부터 i분 경과할 때 까지 1분에 입구를 통과한 차의 수와 출구를 통과한 차의 수이다. n은 10000보다 작거나 같고, 1분에 통과하는 차량의 수는 100이하이다.출력조사 시작하고 j분이 지난 시점 (j = 0~n)에서 터널 안에 있는 차량의 수를 Sj라고 하자. 이때, Sj의 최댓값을 출력한다. 만약, 터널 안에 있는..

[백준 05607] 問題 1[Python]

문제A と B の 2 人のプレーヤーが, 0 から 9 までの数字が書かれたカードを使ってゲームを行う. 最初に, 2 人は与えられた n 枚ずつのカードを, 裏向きにして横一列に並べる. その後, 2 人は各自の左から 1 枚ずつカードを表向きにしていき, 書かれた数字が大きい方のカードの持ち主が, その 2 枚のカードを取る. このとき, その 2 枚のカードに書かれた数字の合計が, カードを取ったプレーヤーの得点となるものとする. ただし, 開いた 2 枚のカードに同じ数字が書かれているときには, 引き分けとし, 各プレーヤーが自分のカードを 1 枚ずつ取るものとする.例えば, A,B の持ち札が, 以下の入力例 1 から 3 のように並べられている場合を考えよう. ただし, 入力ファイルは n + 1 行からなり, 1 行目には各プレーヤのカード枚数 n が書かれており, i..

[2024 KAKAO WINTER INTERNSHIP] 도넛과 막대 그래프 [Python]

풀이도넛, 막대, 8자 그래프의 수와 이를 연결하는 중앙 정점의 번호를 구하는 문제다.문제에서 그래프 수의 합은 2 이상이라고 주어졌다.때문에 2개 이상의 단방향 연결을 가지는 정점이 중앙 정점이 될 수 있다.edges에 대해 다른 정점으로 단방향 연결을 하는지( out ) 연결 되는지( in ) dict을 활용해 기록해 주자.그래프를 완전 탐색하지 않고, 문제를 해결하는게 중요하다.각 그래프별 특징을 구해서 선형 탐색으로 풀이해보자. 우선 도넛 모양 그래프의 경우 단순히 단방향 연결 여부로만 판단하기에는 그렇다할 특징이 없다.막대 그래프의 경우 out이 존재하지 않는 정점이 1개 있다. 8자 그래프의 경우 out이 2개고, in이 2개인(0이 아닌) 정점이 존재한다.만약 in이 0이라면 그 정점은 중앙..

PS 2024.06.22

[2024 KAKAO WINTER INTERNSHIP] 가장 많이 받은 선물 [Python]

풀이이번 달 까지의 선물을 주고받은 기록과 선물 지수를 토대로 다음달에 선물을 많이 받는 사람을 예측하는 문제다.문제에서 주어진 조건은 다음과 같다.1. 선물 기록이 있다면 더 많은 선물을 준 사람이 선물을 받는다.2. 선물 기록이 없거나 같다면, 선물 지수가 더 큰사람이 받는다.선물 지수는 이번 까지 자신이 친구들에게 준 선물 수에서 받은 선물 수를 뺀 값이다.즉, 받은것보다 준 횟수가 더 많다면 선물 지수는 높아진다.먼저 3개의 dict을 만들어 주자.각각 선물을 주고받은 기록( gift_history ), 선물 지수( gift_level ), 다음 달에 받을 선물 수( give )이다.gift_history의 경우 여러명으로부터 여러개의 선물을 받기 때문에 중첩 구조로 구성하자.참고로 문제에서 자기..

PS 2024.06.21