본문 바로가기
반응형

SSAFY 10기18

[백준_파이썬] [🥈4] 24314 (알고리즘 수업 - 점근적 표기 2) 난이도 : 실버 4 알고리즘 유형 : 수학 문제 링크 : https://www.acmicpc.net/problem/24314 문제 풀이과정 처음엔 (a1-c)의 부호를 따지며 조건을 여러개로 분기 시켰으나 99% 에서 계속 틀렸다. 그래서 기존의 방식을 포기하고 제시된 식에서 N 자리에 N이상 102미만(N0의 범위) 을 순회하는 for문을 넣어서 풀었고 문제의 조건이 한번이라도 틀리면 0을 출력하고 break for - else 구문을 통해 else문에서는 1을 출력하였다. 코드 a1, a0 = map(int, input().split()) c = int(input()) N = int(input()) for i in range(N, 102): if a1 * i + a0 < c * i: print(0) .. 2023. 8. 30.
[백준_파이썬] [🥈1] 2667번(단지번호붙이기) 난이도 : 실버 1 알고리즘 유형 : BFS/DFS (너비우선탐색을 이용하여 품 문제 링크 : https://www.acmicpc.net/problem/2667 문제 풀이과정 DFS와 BFS를 수업에서 들었지만, 생각보다 머리에 파고들지 않아서 동빈북을 보면서 코드를 쳐보고, 써보고, 그래프를 DFS로 따라가보고, BFS로 따라가보며 마치 목기에 옻칠하듯이 여러번 반복하다가, 이제 좀 코드가 나오겠다 싶을 때 도전한 문제이다. DFS로 구현해보려다가, 정형화된 인접리스트나 인접행렬을 만들 방도가 떠오르지 않아 BFS로 접근하였다. 구현방식은 단지정보 2차원 배열을 순회하다가 '1' 이 나오면 bfs 함수 호출. 이때 함수를 호출 할때 cnt 변수를 +1 해준다. 이는 단지의 수를 의미한다. 함수에서는 단.. 2023. 8. 29.
[백준_파이썬] [🥈3] 1072번(게임) 난이도 : 실버 3 알고리즘 유형 : 이분 탐색 문제 링크 : https://www.acmicpc.net/problem/1072 문제 풀이과정 X가 큰 값 범위를 가지고 있으므로, 큰 값이 주어졌을때 X와 Y에 값을 더해가면서 찾는 것은 시간초과에 걸릴 가능성이 높고, 실제로 시간초과에 걸렸다. 이때 시간초과를 막기 위한 탐색법은 여러가지가 있는데, 이분탐색을 이용하는 것도 방법이다. 이분탐색을 사용할때 유의할 점은 조건을 수행해가며 새 중간값을 지정할때 유의해야 한다는 것이 있다. 이분탐색이 아직 익숙하지 않다면 while문 속에서 밤새도록 돌아가는 코드를 볼 수 있다. 그리고 이 문제는 결과적으로 분모와 분자에 +1을 더해가며 1%가 늘어나는 최소 횟수를 구하는 것이기에 이분탐색 과정에서 중간값이 아.. 2023. 8. 29.
[백준_파이썬] [🥈5] 28470번(슥~빡! 빡~슥!) 난이도 : 실버 5 알고리즘 유형 : 그리디 알고리즘, 수학, 사칙연산 문제 링크 : https://www.acmicpc.net/problem/28470 문제 풀이과정 문제를 이해함에 있어 공격과 방어를 먼저 할때의 조건을 제시하는 줄에서 볼 수 있는 절대값처럼 생겼지만, 끝자락이 살짝 꺾인 저 기호를 알 필요가 있다. https://ko.wikipedia.org/wiki/%EB%B0%94%EB%8B%A5_%ED%95%A8%EC%88%98%EC%99%80_%EC%B2%9C%EC%9E%A5_%ED%95%A8%EC%88%98 바닥 함수와 천장 함수 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 수학과 컴퓨터 과학에서 바닥 함수(영어: floor function)는 각 실수 이하의 최대.. 2023. 8. 26.