본문 바로가기

728x90
반응형

분류 전체보기

(203)
[백준] 양 한마리... 양 두마리... : 11123번 - Python https://www.acmicpc.net/problem/11123 11123번: 양 한마리... 양 두마리... 얼마전에 나는 불면증에 시달렸지... 천장이 뚫어져라 뜬 눈으로 밤을 지새우곤 했었지. 그러던 어느 날 내 친구 광민이에게 나의 불면증에 대해 말했더니 이렇게 말하더군. "양이라도 세봐!" www.acmicpc.net 문제를 풀면서 몰랐던 개념 - 파이썬의 재귀 최대 깊이 기본 설정에 대한 개념 ⬇️⬇️⬇️ 아래 링크 참고 ⬇️⬇️⬇️ https://ye5ni.tistory.com/178 문제의 접근 방법 - DFS 알고리즘 사용하기 - 방문한 노드와 방문하지 않은 노드 구분하기 - 입력 받은 그리드를 저장할 수 있는 공간을 만들기 내가 막혔던 부분 - DFS 알고리즘을 구상하는 방법 - 양..
[CS] Domain, Name Server, Sub Domain 의 개념 Domain -> Domain 은 인터넷에 연결된 컴퓨터를 사람이 쉽게 기억하고 입력할 수 있도록 문자(영문,한글)로 만든 인터넷 주소이다. 도메인 종류 - 기본 도메인 : 처음에 신청한 기본 웹서버의 이름 (설정한 ip주소의 서버로 이동함) - 멀티 도메인 : 기본 도메인에 호스트 이름만 다르게 붙여서 사용하는 여러 개의 도메인 - 서브 도메인 : 멀티 도메인과 거의 같으며, 도메인명으로 사용할 수 있는 문자의 개수 내에서 원하는 만큼의 호스트 이름을 얼마든지 붙여서 사용할 수 있는 도메인 - 가상 도메인 : 기본 도메인외에 별도의 도메인으로 기본 도메인과 같은 홈페이지에 연결된 도메인 예시 www.one2ye-5ni.shop www -> 호스트 이름 one2ye-5ni.shop -> 도메인 도메인 체..
탐욕 알고리즘 (Greedy Algorithm) 그리디(탐욕) 알고리즘 : 그리디 알고리즘은 동적 프로그래밍(Dynamic Programming) 사용 시 지나치게 많은 일을 한다는 것에서 착안하여 고안된 알고리즘이다. 여러 경우 중 하나를 결정해야할 때마다 각 단계에서 가장 최선의 선택을 하는 기법으로 이 선택이 전체적으로도 최선이기를 바란다고 볼 수 있다. ! 항상 최적의 답을 구해주지는 않음 ! -> 그리디 알고리즘은 주로 정렬 알고리즘과 짝을 이뤄 출제되는데 "가장 큰 or 작은 순서대로"라는 기준을 제시해줌. * 최단 경로를 빠르게 찾아야 하는 문제 = 플로이드 워셜 or 다익스트라 알고리즘 대표적인 그리디 문제 : 거스름돈 문제 -> 500원, 100원, 50원, 10원짜리 동전이 무한히 존재한다. 이 때, 손님에게 거슬러 줘야 할 돈이 N..
[백준] 종이자르기 : 2628번 - Python https://www.acmicpc.net/problem/2628 2628번: 종이자르기 아래 과 같이 직사각형 모양의 종이가 있다. 이 종이는 가로방향과 세로 방향으로 1㎝마다 점선이 그어져 있다. 가로 점선은 위에서 아래로 1번부터 차례로 번호가 붙어 있고, 세로 점선 www.acmicpc.net 문제의 접근 방법 가로 점선을 잘랐을 때는 그 값을 세로길이에 저장하고, 세로 점선을 잘랐을 때는 그 값을 가로길이에 저장해야 한다. (ex) 3번 가로점선을 따라 자를 경우 그 잘린 값이 세로의 길이가 된다. 내가 막혔던 부분 - 문제의 접근 방법 문제 풀이 방법 (1) 가로와 세로 길이 w,h 입력받기 (2) 자를 횟수 n번 입력받기 (3) 나중에 길이를 직사각형의 길이를 계산하기 위해 width, he..
[백준] 세수정렬 : 2752번 - Python https://www.acmicpc.net/problem/2752 2752번: 세수정렬 숫자 세 개가 주어진다. 이 숫자는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 이 숫자는 모두 다르다. www.acmicpc.net 문제의 접근 방법 - 입력 받을 숫자 n개 입력받기 - 입력 받은 숫자들을 정렬하기 - 출력 형식에 맞춰서 정렬된 원소들 출력하기 내가 막혔던 부분 코드를 간결하게 구현하지 못함. 문제 풀이 방법 (1) 세 숫자를 일일히 입력받기, 일일히 형변환, 하나하나 append 함수를 사용해서 리스트에 추가 -> map 함수를 사용해서 한번에 입력받기, 정수로 형변환, 리스트에 넣기를 한번에 할 수 있음. (2) 반복문을 돌려서 출력하기 -> 그냥 인덱스를 찍어서 print 해주어도..
[백준] 최후의 승자는 누구? : 12760번 - Python https://www.acmicpc.net/problem/12760 12760번: 최후의 승자는 누구? 입력의 첫 줄에 플레이어의 수 \(N\)과 가진 카드 수 \(M\)이 입력 된다. \(( 2 \le N \le100, 1 \le M \le 100 )\) 그 다음 \(N\)줄에 걸쳐 각 플레이어가 들고 있는 카드에 적힌 숫자들이 입력된다. \(( 1 \le\) 카 www.acmicpc.net 문제를 풀면서 몰랐던 개념 (1) [Python] 비어있는 배열, 리스트 확인하기 -> 리스트가 비어있는지 아닌지 여부를 확인하기 위해서는 'not'을 사용해서 알 수 있음! # case 1 # arr = [] if not arr: print("arr is empty") else: print("arr is not ..
[백준] 잃어버린 괄호 : 1541번 - Python https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 문제를 풀면서 몰랐던 개념 - for 문 range 자리에 리스트 원소를 split 메소드로 나눈 값들만큼의 반복을 설정할 수 있다. 문제의 접근 방법 - '-' 부호가 나오기 전까지 모두 괄호 안으로 묶어서 더해버리기 - 수식이 주어지면 '+'를 기준으로 먼저 더해주고 남겨진 값들을 빼주면 항상 최솟값을 만들 수 있다. 내가 막혔던 부분 처음 아이디어를 떠올리는 과정에서 막혔다. -> 마이..
[백준] 거스름돈 : 5585번 - Python https://www.acmicpc.net/problem/5585 5585번: 거스름돈 타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사 www.acmicpc.net https://ye5ni.tistory.com/66 ===> 참고 문제의 접근 방법 - 거스름돈 개수가 가장 적게 잔돈을 주려면 잡화점에서 가지고 있는 잔돈을 가장 큰 단위부터 거슬러주어야 함. - 타로는 1000엔 지폐를 한 장 냈기 때문에 1000엔에서 타로가 지불해야 할 돈을 빼준 값이 받아야할 잔돈의 값을 의미함. 문제 풀이 방법 타로가 지불해야 할 돈 N엔 입력받기 ..

728x90
반응형