전체 글
-
[백준] 2469번: 사다리 타기(Python)Algorithm PS👩🏻💻/Implementation 2023. 6. 23. 02:12
문제 링크 https://www.acmicpc.net/problem/2469 2469번: 사다리 타기 첫 줄에는 참가한 사람의 수 k가 나온다(3 ≤ k ≤ 26). 그 다음 줄에는 가로 막대가 놓일 전체 가로 줄의 수를 나타내는 n이 나온다(3 ≤ n ≤ 1,000). 그리고 세 번째 줄에는 사다리를 타고 난 후 결정 www.acmicpc.net 풀이 처음 아이디어로는 '?'를 제외한 나머지 사다리를 탄 후 결과 값과 비교하려 했지만 -> '?'의 위치도 중요해서 복잡해짐. [풀이 참고함] 핵심: 가로줄이 있으면 두 알파벳이 교환된다. 첫 줄(초기값) ~ 물음표 줄 전까지 사다리 타기 진행 & 맨 밑(결과)~물음표 다음줄까지 진행 (아래서 위로) 그럼 물음표 줄을 가운데에 두고 before, '???'..
-
[SSAFY 10기] 1차 코딩테스트 후기Coding Test📑 2023. 6. 20. 14:33
1. 문제 구성 언어: C, C++, Java, Python 문제 구성: 2문제(1시간 20분) 환경: 자체 사이트 (SWEA에서 연습해볼 것) 2. 후기 개인적으로 1번 문제가 너무 쉬웠지만 2번 풀이가 생각이 잘 안나서 시간에 딱 맞춰서 다 풀었습니다. 평소 취준으로 코테 준비 + 골드로 연습하셨으면 쉽게 풀 것 같습니다. (다른 코테에 비해서 쉽다고 실버로만 준비 하는 것 보단 쉽게 느껴지게끔 골드로 준비하는 게 나을 듯) 다른 분들은 SWEA 형태로 문제가 나오고, 삼성 문제가 있다 보니 D3~4로 많이들 언급하지만, 거기 문제나 백준이나 비슷하고, 삼성 코테가 좋아하는 유형으로 내는 것도 아니기 때문에 싸피 준비하실 거면 백준(골드 4~5, 실버1~2)으로 해도 될 듯 합니다. 3. 결과 개인적..
-
[현대자동차그룹 소프티어 부트캠프 2기] 코딩테스트 후기Coding Test📑 2023. 5. 31. 15:02
구성 2시간 6문제 구글링, 책 참고 허용, IDE 허용(따로 안내 메일엔 와있지 않지만 물어보니 가능했다.) 구름 플랫폼 언어 c, c++, java 는 기본으로 구성하고, 특정 문제만 kotlin, js, swift, python을 지원한다고 안내받았다. 하지만, 기본을 제외한 나머지 언어들은 5문제 정도 풀 수 있고, python은 1문제만 지원했다. 난이도 우선 2시간에 6문제라고 해서 쉬운 문제가 많을 줄 알았다. 코테 준비용으로 python만 준비했던 나로써는 쉽지 않았다. 후기를 보니 c++이 유리한 문제가 많이 출제되었고, 생각보다 시간을 많이 잡아먹는 문제들이었다. 체감 자료구조, 구현 문제가 출제되었다. (c++, java 준비생이 볼때의 난이도는 모르겠다) 난이도 자체는 실버 1 ~ ..
-
[백준] 3079번: 입국심사(이분탐색, Python)Algorithm PS👩🏻💻/백준 2023. 5. 30. 00:26
문제 링크https://www.acmicpc.net/problem/3079 3079번: 입국심사첫째 줄에 N과 M이 주어진다. (1 ≤ N ≤ 100,000, 1 ≤ M ≤ 1,000,000,000) 다음 N개 줄에는 각 심사대에서 심사를 하는데 걸리는 시간인 Tk가 주어진다. (1 ≤ Tk ≤ 109)www.acmicpc.net 풀이풀이 설명* 분류: 이진탐색인원수가 10억명, 시간도 10억초 까지의 범위이므로 이진탐색을 떠올린다.대체로 이진 탐색의 기준이 되는 건 구하고 싶은 변수이다. 지금은 시간을 출력하는 것이므로 기준을 시간(초)로 잡는다. 검사대 시간 배열 -> info시간을 기준으로 한다면 start = 가장 짧은 검사대 시간, end = (가장 긴 검사대 시간 * 사람 인원수) 로 하겠다..
-
[백준] 20444번: 색종이와 가위(이분탐색, Python)Algorithm PS👩🏻💻/백준 2023. 5. 29. 23:52
문제 링크https://www.acmicpc.net/problem/20444 20444번: 색종이와 가위첫 줄에 정수 n, k가 주어진다. (1 ≤ n ≤ 231-1, 1 ≤ k ≤ 263-1)www.acmicpc.net 풀이풀이 설명* 분류: 이진탐색n번의 가위질을 할때 만들어지는 조각의 경우의 수를 정하는 기준은 가로로 몇번, 세로로 몇번 자르는지에 따라 달라진다. 예를 들어, 3번 자를 경우1) 세로로 3번 자르는 경우 -> 4조각2)세로로 1번 가로로 2번 자르는 경우 -> 6조각이 나온다. 따라서 가로: row, 세로: col(n-row) 로 친다면, total(조각수) = (row + 1)(col + 1) 이므로,row를 기준으로 탐색한다고 하면 mid 값으로 설정할 수 있다.풀이 코드n, k..
-
[백준] 2470번: 두 용액(Python, Binary Search)Algorithm PS👩🏻💻/백준 2023. 5. 29. 22:37
문제 링크 https://www.acmicpc.net/problem/2470 2470번: 두 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -1,000,000,000 이상 1,000,00 www.acmicpc.net 풀이 풀이 설명 * 분류: 이분탐색(?) 카테고리는 이분탐색이지만 정렬로도 해결 가능해서 딱히 쓰진 않았다.. 더했을 때, 가장 0에 가까운 조합 2개를 뽑는 것 --, ++, -+ 의 조합일 수 있음 -99 +99 와 같이 합이 0이 되려면 절대값이 같으면 된다. 그러므로 인접한 값을 더한 덧셈배열(diff) 만들어서 절대값을 기준으로 정렬한다. 이때..
-
[프로그래머스] 두 정수 사이의 합(Python)Algorithm PS👩🏻💻/프로그래머스 2023. 5. 23. 15:12
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12912 풀이 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 개념 & 이론 등차수열의 합 이용 : 항의 수 * (초항 + 말항) // 2 코드 def solution(a, b): if a > b: a, b = b, a return sum(range(a, b+1)) 이렇게 해도 시간 복잡도는 O(n)이기에 시간이 걸린다. 최적 코드 def solution(a, b): return (abs(a-b)+1)*(a+b)//2 위의 등차..