백준 9372번 문제 상근이의 여행 트리구조를 활용하는 문제이다. https://www.acmicpc.net/problem/9372 9372번: 상근이의 여행 첫 번째 줄에는 테스트 케이스의 수 T(T ≤ 100)가 주어지고, 각 테스트 케이스마다 다음과 같은 정보가 주어진다. 첫 번째 줄에는 국가의 수 N(2 ≤ N ≤ 1 000)과 비행기의 종류 M(1 ≤ M ≤ 10 000) 가 www.acmicpc.net 문제 풀이 비행기가 연결리스트임. 모든 비행기가 연결되어있으므로 그냥 방문해야 하는 나라 - 1 하면 됨 해답 코드 Python ## 백준 9372 상근이의 여행 트리 from sys import stdin #입력 T = int(stdin.readline()) #중첩 리스트 두 개 - 각 케이스..
전체 글
삼시세끼 잔잔하게 개발하는 백엔드 지망생 수련기 : Spring boot, Algorithm백준 1269번 문제 대칭 차집합 트리 문제이다. https://www.acmicpc.net/problem/1269 1269번: 대칭 차집합 첫째 줄에 집합 A의 원소의 개수와 집합 B의 원소의 개수가 빈 칸을 사이에 두고 주어진다. 둘째 줄에는 집합 A의 모든 원소가, 셋째 줄에는 집합 B의 모든 원소가 빈 칸을 사이에 두고 각각 주어 www.acmicpc.net 문제 풀이 파이썬에는 집합 자료형이 있고 관련 메서드들을 활용해서 너무 쉽게 풀 수 있었다. 해답 코드 Python ## 백준 1269 대칭 차집합 트리 # 집합 자료형 사용하지 않고도 풀어보기 from sys import stdin NA, NB = map(int, stdin.readline().split()) #집합 자료형 set() A =..
백준 16466번 문제 콘서트 우선순위 큐 문제이다. https://www.acmicpc.net/problem/16466 16466번: 콘서트 HCPC (Hanyang Completely Perfect Celebrity)는 한양대학교 최고의 가수에게 주어지는 칭호이다. 한양대학교는 매년 최고의 HCPC를 선발한다. HCPC가 되기란 여간 어려운 게 아니다. 매일 아침 날달걀을 까먹 www.acmicpc.net 문제 풀이 입력받은 데이터를 1 2 4 7 8 이라 하면 입력과 크기가 같은 배열인 1 2 3 4 5 를 활용한다. 1 2 4 7 8 1 2 3 4 5 두 배열의 각 원소를 순서대로 비교해나간다. 서로 값이 다를 경우 해당 순서의 자리가 빈 것! 다른 값이 없을 경우 마지막 자리보다 한 자리 뒤가 ..
개발 공부를 하다보면 여러 프로젝트나 소스코드 파일들이 IDE에 의해 기본 설정된 경로에 저장되어버려서 IDE마다 다른 경로에 소스코드 파일들이 흩어져있기도 하고, 내가 파일을 직접 찾아가기에는 너무 낯선 경로에 보관된다. 소스코드 파일들을 잘 관리하기 위해서는 IDE가 설정한 기본 경로가 아니라 내가 지정한 폴더에 모아서 관리하는 것이 좋다. 내가 잘 찾아가고 알아볼 수 있도록! 내가 쓴 코드가 내 컴퓨터에 저장되어있는데 개발한 사람이 그거 어딨는지 찾아가지도 못하면 웃기지 않나,, 그러니 Visual Studio 에서 프로젝트 저장과, 프로젝트 열기 시 기본적으로 나타나는 경로를 바꿔보자 Visual Studio 의 상단 메뉴들 중 > 도구 (Tools) > 옵션 (Options) 그러면 옵션 창이 ..
백준 2959번 문제 거북이 정렬 문제 https://www.acmicpc.net/problem/2959 2959번: 거북이 첫째 줄에 거북이가 생각한 네 양의 정수 A, B, C, D가 주어진다. (0 세 번째 수 2. 두 번째 수 < 네 번째 수 여야 한다. 주어진 수로 만들 수 있는 직사각형 넓이 ..
백준 2720번 문제 세탁소 사장 동혁 greedy 알고리즘 문제 https://www.acmicpc.net/problem/2720 2720번: 세탁소 사장 동혁 각 테스트케이스에 대해 필요한 쿼터의 개수, 다임의 개수, 니켈의 개수, 페니의 개수를 공백으로 구분하여 출력한다. www.acmicpc.net 문제 풀이 중고등학생 때 풀던 동적 최소 개수 문제랑 똑같다. 괜히 영어동전으로 만들어놨다고 쫄 필요 없다. 거슬러줘야 하는 값을 m에 배열로 담고 현재 m을 coin의 큰 값부터 나누어 몫은 출력할 문자열에 추가, 나머지는 원래 m에 다시 저장하기를 동전 종류 수 만큼 반복한다. 해답 코드 Python #백준 2720 세탁소 사장 동혁 greedy from sys import stdin #입력, 사용..
백준 10162번 문제 전자레인지 greedy 알고리즘 문제 https://www.acmicpc.net/problem/10162 10162번: 전자레인지 3개의 시간조절용 버튼 A B C가 달린 전자레인지가 있다. 각 버튼마다 일정한 시간이 지정되어 있어 해당 버튼을 한번 누를 때마다 그 시간이 동작시간에 더해진다. 버튼 A, B, C에 지정된 시간은 www.acmicpc.net 문제 풀이 어렵지 않은 문제. 중고등학생 때 풀던 동전 최소 개수 문제랑 똑같다 출력조건에 따라 1의 자리가 0이 아니면 주어진 숫자로는 만들 수 없는 수이니 -1을 출력하고 1의 자리가 0이면 T를 큰 값부터 나누어 몫은 카운트에 저장하고 나머지는 T에 다시 저장을 반복한다. 해답 코드 Python # 백준 10162 전자레인..
백준 2231번 문제 분해합 완전탐색(브루트포스) 문제 https://www.acmicpc.net/problem/2231 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net 문제 풀이 완전 탐색 - 어떤 수의 생성자는 원래 수보다 무조건 작으므로 0부터 N-1까지 다 계산해 봄 부분 코드 설명 isum = sum(list(map(int, str(i)))) 숫자 i를 string으로 형변환한다. 파이썬의 string은 배열처럼 사용할 수 있다. 한 글자씩 나눠져서 배열이 됨 list(m..
백준 2798번 문제 블랙잭 완전탐색(브루트포스) 문제 https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 문제 풀이 완전탐색 : 가능한 모든 경우의 수를 탐색하는 방법 N개의 수 중 3개를 비복원추출하는 모든 경우의 수를 탐색한다. 탐색하여 sum 값이 M보다 작거나 같은 값들 중 가장 큰 값을 구한다. 해답 코드 Python #백준 2798 블랙잭 #입력받는 방법 한 번 정리하기 #문제똑바로 읽기..^^ :
습관적으로 git add . 명령을 쓰다가 전체 파일 말고 일부 파일만 add해 따로 commit하고 싶어졌다. 방금 add 한 걸 취소해보자 #add 한 전체 파일을 취소 git reset HEAD #특정 파일만 add 취소 git reset HEAD
백준 15829번 문제 Hashing 해싱 50점 풀이와 100점 풀이가 있는 문제이다. 둘 다 적겠다 https://www.acmicpc.net/problem/15829 15829번: Hashing APC에 온 것을 환영한다. 만약 여러분이 학교에서 자료구조를 수강했다면 해시 함수에 대해 배웠을 것이다. 해시 함수란 임의의 길이의 입력을 받아서 고정된 길이의 출력을 내보내는 함수로 정 www.acmicpc.net 100점 문제 풀이 알파벳을 의미하는 숫자 반환 함수 - 유니코드 활용 ord() 입력된 알파벳을 숫자로 만들고 해시값 계산 100점 해답 코드 Python #백준 15829 Hashing - 100점 from sys import stdin #데이터 입력 L = int(stdin.readlin..

얼마전에 highlight.js 사이트를 이용해서 테마를 설정했는데 글을 쓰다보니 어떨 땐 적용이 되고 어떨 땐 적용이 제대로 안 되는 것 테마 적용하는 방법을 잘못한 줄 알고 한참 헤맸는데 해결법 코드 블럭 넣을 때 저기 언어설정이 제대로 되어있는 지 확인하자..^^ 테마 안 쓸 땐 뭘로 해놔도 티스토리 기본테마는 똑같았기 때문에 신경을 안쓰고 살았는데.. 한 번씩 확인하기! 테마 설정하는 법이 궁금하다면 아래 글로 https://onedaythreecoding.tistory.com/entry/Tistory-%ED%8B%B0%EC%8A%A4%ED%86%A0%EB%A6%AC-%EC%BD%94%EB%93%9C%EB%B8%94%EB%9F%AD-%ED%85%8C%EB%A7%88-%EC%83%89%EC%83%8..
백준 12605번 문제 단어순서 뒤집기 https://www.acmicpc.net/problem/12605 12605번: 단어순서 뒤집기 스페이스로 띄어쓰기 된 단어들의 리스트가 주어질때, 단어들을 반대 순서로 뒤집어라. 각 라인은 w개의 영단어로 이루어져 있으며, 총 L개의 알파벳을 가진다. 각 행은 알파벳과 스페이스로만 www.acmicpc.net 스택을 활용하는 문제 문제풀이 데이터 입력받을 배열과 결과물 넣을 배열 선언 데이터 하나씩 돌면서 스페이스바 기준으로 단어를 잘라 새 배열 slist를 만듦. slist의 값을 역순으로, 준비된 temp에 넣고 temp 하나가 다 만들어지면, 결과물 result에 저장. 해답 코드 python #12605 from sys import stdin #전체 개수..
백준 2161번 문제 카드1 https://www.acmicpc.net/problem/2161 2161번: 카드1 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 큐를 사용하는 문제이다. 문제 풀이 전체 갯수 입력받고 데이터 입력받을 배열과 결과값 넣을 배열 생성 throw : 카드를 버릴 차례라면 True, 뒤로 넣을 차례라면 False를 담는 변수 데이터 배열 data에 값이 계속 추가되므로 data의 현재 길이를 이용해 data배열이 끝날때까지 반복하도록 함 해답 코드 python #2161 #comm. 파이썬 que문제는..
백준 17608번 문제 https://www.acmicpc.net/problem/17608 17608번: 막대기 아래 그림처럼 높이만 다르고 (같은 높이의 막대기가 있을 수 있음) 모양이 같은 막대기를 일렬로 세운 후, 왼쪽부터 차례로 번호를 붙인다. 각 막대기의 높이는 그림에서 보인 것처럼 순서대로 www.acmicpc.net 스택을 활용하는 문제라고 함 문제풀이 전체 개수와 데이터 입력받고 데이터 뒤에서부터 돌면서 현재까지 가장 큰 값은 curBig에 저장. curBig보다 크면 count에 +1하고 curBig값으로 업데이트한다. 해답 코드 python #17608 from sys import stdin #전체 개수와 데이터 입력받 n = int(input()) data = [0]*n for i i..