Koder / 박성훈
article thumbnail
백준 BOJ 1312 - 소수
알고리즘/백준 BOJ 2023. 7. 20. 14:06

https://www.acmicpc.net/problem/1312 1312번: 소수 피제수(분자) A와 제수(분모) B가 있다. 두 수를 나누었을 때, 소숫점 아래 N번째 자리수를 구하려고 한다. 예를 들어, A=3, B=4, N=1이라면, A÷B=0.75 이므로 출력 값은 7이 된다. www.acmicpc.net 초등학교때의 사칙연산공부를 하던 갬성을 살려서 풀어보도록 하자. C언어의 double 형 같은 경우 정확도가 그리 높은편이 아니기 때문에 백만번 나누면 부정확해진다. python의 Decimal 형같은경우는 어찌저찌 될지도...? 근데 그것보단 아래풀이가 더 깔끔하다. 몫이 정답이 되고 나머지를 또 나눌수 있게 하기 위하여 10을 곱해주면 된다. N이 실버5치고 상당히 커보이기때문에 겁먹을 수..

article thumbnail
백준 BOJ 20300 - 서강근육맨
알고리즘/백준 BOJ 2023. 7. 19. 23:25

https://www.acmicpc.net/problem/20300 20300번: 서강근육맨 PT 첫째 날에 $1$과 $4$를 선택하고, 둘째 날에 $2$와 $3$을 선택하고, 마지막 날에 $5$를 선택하면 $M$은 $5$가 되며, 이때가 $M$이 최소일 때이다. www.acmicpc.net 배열에서 두 수 $t_a$ 와 $t_b$ 를 골라 더해서 $K$를 만들고, 이 $K$들의 최댓값이 최소가 되도록 하는 문제. 더하는 두 수를 선택하는데 있어서, 정렬된 배열의 양 끝, $MAX_t$ 와 $MIN_t$ 를 더하는게 $K$를 작게 만들수 있는 방법이다. 가장 큰 수와 가장 작은수를 매칭시켜줘야 가장 큰수에 최소한의 수를 더할 수 있기 때문이다. 이 방법으로 배열의 크기가 짝수라면 깔끔하게 해결되지만, 배..

article thumbnail
백준 BOJ 2548 - 대표 자연수
알고리즘/백준 BOJ 2023. 7. 19. 23:08

https://www.acmicpc.net/problem/2548 2548번: 대표 자연수 첫째 줄에는 자연수의 개수 N이 입력된다. N은 1 이상 20,000 이하이다. 둘째 줄에는 N개의 자연수가 빈칸을 사이에 두고 입력되며, 이 수들은 모두 1 이상 10,000 이하이다. www.acmicpc.net 두번속은문제.... 1. 지문읽으면서 엥 이거 평균아닌가 라고 생각 >> 지문에서반박당함 2. 이분탐색 생각해봄 >> 무한반복 걸려서 고민하던중 다른 아이디어 발견 이 문제에서 요구하고 있는 값은 입력된 배열의 중앙값이다. 입력된 배열에서 대표 자연수를 $K$ 라고 할때, 대표 자연수보다 큰 수가 $A$개 있고 대표 자연수보다 작은 수가 $B$ 개 있을 것이다. (이때, $A+B == N$ 이다) 대표..

article thumbnail
백준 BOJ 2477 - 참외밭
알고리즘/백준 BOJ 2023. 7. 19. 22:43

https://www.acmicpc.net/problem/2477 2477번: 참외밭 첫 번째 줄에 1m2의 넓이에 자라는 참외의 개수를 나타내는 양의 정수 K (1 ≤ K ≤ 20)가 주어진다. 참외밭을 나타내는 육각형의 임의의 한 꼭짓점에서 출발하여 반시계방향으로 둘레를 돌면서 지 www.acmicpc.net 참으로귀찮게생겨먹어서 미루다미루다 푼 문제 한번에 안풀려서 질문창 보다가 느낀건데 이문제 다들 너무 어렵게 생각하고 있는 것 같다. 이 문제를 유심히 보면 패인 부분에 있는 60이라는 길이와 인접한 두 변이 평행선을 그리면서, 반시계방향으로 탐색하게 된다면 반드시 남쪽으로 내려가는 변이라는 것을 알 수 있다. 똑같이 패인 부분에 있는 길이가 20인 변과 인접한 두변의 탐색방향이 동쪽으로 동일하다..

article thumbnail
백준 BOJ 14940 - 쉬운 최단거리
알고리즘/백준 BOJ 2023. 7. 19. 00:31

https://www.acmicpc.net/problem/14940 14940번: 쉬운 최단거리 지도의 크기 n과 m이 주어진다. n은 세로의 크기, m은 가로의 크기다.(2 ≤ n ≤ 1000, 2 ≤ m ≤ 1000) 다음 n개의 줄에 m개의 숫자가 주어진다. 0은 갈 수 없는 땅이고 1은 갈 수 있는 땅, 2는 목표지점이 www.acmicpc.net 간단한 그래프 탐색 문제. BFS 알고리즘의 구현에 대해서 묻고 있다. 클래스3 문제에 해당한다. 굳이 신경써줄 점이라면 입력으로 받은 지도를 잘 저장하고 있다가 숫자를 출력할때 원래 갈수 있는 땅인데 고립/격리되어있어서 가지 못한 땅인지 원래부터 갈수 없는 땅인지 둘을 구분할때 사용해야 한다. 이런 2차원 격자를 탐색할때 int dx[] = {1,-1..

article thumbnail
백준 BOJ 18110 - solved.ac
알고리즘/백준 BOJ 2023. 7. 18. 23:58

절사평균을 구현해내는 문제. 클래스2에 새로 들어간 문제가 되어서 클래스2 금장이 은장이되었길래 풀어보았다. https://www.acmicpc.net/problem/18110 18110번: solved.ac 5명의 15%는 0.75명으로, 이를 반올림하면 1명이다. 따라서 solved.ac는 가장 높은 난이도 의견과 가장 낮은 난이도 의견을 하나씩 제외하고, {5, 5, 7}에 대한 평균으로 문제 난이도를 결정한다. www.acmicpc.net 절사평균을 구하는 방법은 문제에서 제시해주고 있으므로 문제에서 말하는 바에 따라 계산해 주면 되는데, 반올림하는법을 여기서 짚고가면 도움이 될 듯 하다. 내가 아는 바로 C언어에는(Cpp에는 있을지도 모르겠다) 반올림이 없으므로, floor(바닥함수), ceil..

반응형