본문 바로가기

cpp450

[백준] 10984번: 내 학점을 구해줘 (C++) 10984번: 내 학점을 구해줘 문제 ) 게으른 근우는 열심히 놀다가 문득, 자신의 학점 평균이 얼마일지 궁금해졌다. 학사시스템도 들어가기 귀찮아하는 근우를 위해 구해주도록 하자. 입력 : 첫 번째 줄에 학기의 수 T가 주어진다. 두 번째 줄부터 T개 학기에 대한 정보가 주어진다. 각 학기에 대한 정보는 다음과 같이 구성되어 있다. 첫 번째 줄에 들었던 과목의 수 N이 주어지고, 다음 N개 줄에 걸쳐서 N개 과목들의 학점 C와 성적 G가 주어진다. (1 ≤ N ≤ 10, 1 ≤ C ≤ 6, C는 정수) G는 {0, 0.7, 1, 1.3, 1.7, 2, 2.3, 2.7, 3, 3.3, 3.7, 4, 4.3} 중 하나이며 소수 부분은 최대 한 자리까지 주어진다. 출력 : 각 학기에 대해 근우의 총 학점과 평.. 2023. 1. 19.
[백준] 1408번: 24 (C++) 1408번: 24 문제 ) 도현이는 Counter Terror Unit (CTU)에서 일하는 특수요원이다. 도현이는 모든 사건을 정확하게 24시간이 되는 순간 해결하는 것으로 유명하다. 도현이는 1시간 만에 범인을 잡을 수 있어도 잡지 않는다. 정확하게 24시간이 되는 순간이 아니면 잡지 않는 CTU 특수요원이다. 2008년 3월 3일 월요일, CTU는 새학기에 맞춰 핵폭탄을 날리겠다는 테러 정보를 입수했다. CTU에서는 특수요원 도현이에게 이 임무를 맡겼다. CTU의 프로그래머 준규는 이 사건의 배후가 김선영이란 것을 해킹을 통해 밝혀내었다. 도현이는 선영이를 임무를 시작한지 정확하게 24시간이 되는 순간에 잡으려고 한다. 만약 지금 시간이 13:52:30이고, 임무를 시작한 시간이 14:00:00 이.. 2023. 1. 19.
[알고리즘] 재귀함수(recursion function) 개인 공부 후 자료를 남겨놓기 위한 목적이므로, 생략되거나 오류가 있을 수 있음을 알립니다. 설명에 대한 지적은 언제나 환영입니다. :) 재귀함수 들어가기에 앞서. 재귀함수가 무엇인지 알아보기 전에, 이 유튜브 영상을 먼저 보고 와보자. 그저 4시간 동안 의미없는 반복되는 영상으로 보일 것이다. 이 영상이 무엇을 의미하는지 이제 알아보도록 하자. 1. 재귀함수란? 재귀함수란 무엇일까? 국어사전에서 재귀 란 을 의미한다. 따라서 재귀 + 함수 이므로 설명 그대로 함수내에서 자기 자신을 불러 작업을 수행하는 함수를 의미한다. 다음과 같은 함수가 있다고 하자. 이 recur() 함수 내에서 recur를 다시 부르면 어떻게 될까? 어려울게 없다. 다음과 해당 함수안에서 자기 자신을 반복하는 형태가 될 것이고 이.. 2022. 6. 30.
[알고리즘] 투 포인터 개인 공부 후 자료를 남겨놓기 위한 목적이므로, 생략되거나 오류가 있을 수 있음을 알립니다. 투포인터 1. 투포인터란? 투포인터 알고리즘(Two Pointer Algorithm) 또는 슬라이딩 윈도우(Sliding Window) 라고 부른다. 간단한 원리로는 1차원 배열이 존재할 때, 이 배열에서 각자 다른 원소를 가리키고 있는 2개의 '포인터'를 조작하면서 원하는 값을 얻는 알고리즘이다. 2. 기본 메커니즘 보통 투포인터에서는 두개의 포인터를 strat(s), end(e)로 설정하고, 우리가 문제를 풀거나, 알고리즘을 짜면서 만든 특정한 조건에 따라 각 포인터를 한칸씩 이동시켜 바라보는 배열의 크기를 조절한다. 이렇게 특정 구간의 배열만 바라보면서 해답을 찾아내는 알고리즘이다. 1. s = 0, e =.. 2022. 6. 30.