전체 글 25

음료수 얼려먹기와 유기농 배추(백준 1012) - python

DFS 공부 중 , 이것이 코딩테스트다(나동빈 저) 책에 나오는 문제와 백준의 유사한 문제를 풀면서 이해가 잘 되지 않은 부분을 정리하였다. 음료수 얼려먹기 문제 N * M 크기의 얼음 틀이 있다. 구멍이 뚫려 있는 부분은 0, 칸막이가 존재하는 부분은 1로 표시된다. 구멍이 뚫려 있는 부분끼리 상, 하, 좌, 우로 붙어있는 경우 서로 연결되어있는 것으로 간주한다. 이때 얼음 틀의 모양이 주어졌을 떄 생성되는 총 아이스크림의 개수를 구하는 프로그램을 작성하시오. 다음의 4 * 5 얼음틀 예시에서는 아이스크림이 총 3개 생성된다. 입력 첫 번째 줄에 얼음 틀의 세로 길이 N과 가로 길이 M이 주어진다. (1

DFS와 백트래킹

참고 링크 : https://chanhuiseok.github.io/posts/algo-23/ 백트래킹이란? 해를 찾는 도중 해가 아니어서 막히면, 되돌아가서 다시 해를 찾아가는 기법 최적화 문제와 결정 문제를 푸는 방법이 된다. DFS (깊이 우선 탐색) : 가능한 모든 경로(후보) 탐색. 경우의 수를 줄이지 못함 ( 최적화 문제에 부적합 ) 백트래킹 : 해를 찾아가는 도중, 지금의 경로가 해가 될 것 같지 않으면 그 경로를 더이상 탐색 x 예시로 최대 / 최솟값을 찾는 문제에서 MAX_VALUE , MIN_VALUE 등을 두고 탐색 중 MIN_VALUE 보다 크면 최솟값이 될 수 없으므로 탐색을 중단하고 뒤로 돌아가는 식으로 구현할 수 있겠다. 문제풀이에서는 DFS등으로 모든 경우의 수를 탐색하는 과..

[파이썬] 10816

문제링크 : https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net import sys input = sys.stdin.readline N = int(input()) # 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N # 숫자 카드에 적혀있는 정수 arr = list(map(int, input().split())) M = int(input()) # 상근이가 몇 개 가지고 있는 숫자 카드인지 구해야 할 M개의 정수..

C언어 22주차 과제

# 제출안내 1. 방법 : 본인 블로그에 작성 후 본 게시판에 링크를 업로드 또는 본 게시판에 작성. 제목은 '투자노트 금융공학 퀀트 프로그래밍 과정 x주차과제' 등으로 작성 (※ 본 게시판에 작성한 내용은 주기적으로 삭제 및 정리되오니 강의 내용을 가지고 있으시려면 본인 블로그에 작성하시오) 2. 양 : 최종과제 스크린샷 1장 이상 첨부. 스크린샷을 반드시 첨부하시오. 3. 기한 : 매주 일요일 오후 12시 전까지 # 기본과제 및 제출 양식 1. 파일 편집을 위해 윈도우 바탕화면에서 오른쪽 버튼을 눌러 '새로만들기'를 선택하고, '텍스트 문서' 파일(txt)을 생성하고, 파일을 적당한 디렉터리에 넣은 후 아래 문항에 답하시오. (3시간 소요) 가. 텍스트 파일을 열고 다음 값을 넣고 저장하시오. 자료는..

프로그래밍/C 2021.03.11

C언어 21주차 과제

# 제출안내 1. 방법 : 본인 블로그에 작성 후 본 게시판에 링크를 업로드 또는 본 게시판에 작성. 제목은 '투자노트 금융공학 퀀트 프로그래밍 과정 x주차과제' 등으로 작성 (※ 본 게시판에 작성한 내용은 주기적으로 삭제 및 정리되오니 강의 내용을 가지고 있으시려면 본인 블로그에 작성하시오) 2. 양 : 최종과제 스크린샷 1장 이상 첨부. 스크린샷을 반드시 첨부하시오. 3. 기한 : 매주 일요일 오후 12시 전까지 # 기본과제 및 제출 양식 1. 파일 편집을 위해 윈도우 바탕화면에서 오른쪽 버튼을 눌러 '새로만들기'를 선택하고, '텍스트 문서' 파일(txt)을 생성하고, 파일 내용은 Origogi를 넣은 후 저장하시오. 또한, 이를 바탕으로 아래 문항에 답하시오. (2시간 소요) 가. C에서 이 파일에..

프로그래밍/C 2021.03.02

C언어 20주차 과제

# 제출안내 1. 방법 : 본인 블로그에 작성 후 본 게시판에 링크를 업로드 또는 본 게시판에 작성. 제목은 '투자노트 금융공학 퀀트 프로그래밍 과정 x주차과제' 등으로 작성 (※ 본 게시판에 작성한 내용은 주기적으로 삭제 및 정리되오니 강의 내용을 가지고 있으시려면 본인 블로그에 작성하시오) 2. 양 : 최종과제 스크린샷 1장 이상 첨부. 스크린샷을 반드시 첨부하시오. 3. 기한 : 매주 일요일 오후 12시 전까지 # 기본과제 및 제출 양식 1. 문자열 편집을 위해 string.h 를 인클루드 하고 다음 문항에 답하시오. (2시간 소요) 가. strncpy의 용법은 다음과 같다. strncpy(값을넣을변수,넣을값이있는변수,넣을문자개수) 이를 암기하시오. https://modoocode.com/80 를 ..

프로그래밍/C 2021.03.02

C언어 19주차 과제

# 제출안내 1. 방법 : 본인 블로그에 작성 후 본 게시판에 링크를 업로드 또는 본 게시판에 작성. 제목은 '투자노트 금융공학 퀀트 프로그래밍 과정 x주차과제' 등으로 작성 (※ 본 게시판에 작성한 내용은 주기적으로 삭제 및 정리되오니 강의 내용을 가지고 있으시려면 본인 블로그에 작성하시오) 2. 양 : 최종과제 스크린샷 1장 이상 첨부. 스크린샷을 반드시 첨부하시오. 3. 기한 : 매주 일요일 오후 12시 전까지 ​ # 기본과제 및 제출 양식 1. 문자 검사를 위해 ctype.h 를 인클루드 하고 다음 문항에 답하시오. (2시간 소요) 가. isalpha 함수의 쓰임은 다음과 같다. 참/거짓값을 받을 변수 = isalpha(문자1개 변수); 이를 암기하시오. 이 함수의 용도를 말하시오. 한편, cha..

카테고리 없음 2021.02.21

C언어 18주차 과제

# 제출안내 1. 방법 : 본인 블로그에 작성 후 본 게시판에 링크를 업로드 또는 본 게시판에 작성. 제목은 '투자노트 금융공학 퀀트 프로그래밍 과정 x주차과제' 등으로 작성 (※ 본 게시판에 작성한 내용은 주기적으로 삭제 및 정리되오니 강의 내용을 가지고 있으시려면 본인 블로그에 작성하시오) 2. 양 : 최종과제 스크린샷 1장 이상 첨부. 스크린샷을 반드시 첨부하시오. 3. 기한 : 매주 일요일 오후 12시 전까지 ​ # 기본과제 및 제출 양식 1. 문자열 편집을 위해 string.h 를 인클루드 하고 다음 문항에 답하시오. (1시간 소요) 가. atoi 함수는 정수숫자 문자열을 넣으면 int값으로 바꾸어 주는 함수이며 용법은 다음과 같다. int x = atoi(정수숫자문자열) 이를 암기하시오. 또한..

프로그래밍/C 2021.02.14

C언어 17주차 과제

# 제출안내 1. 방법 : 본인 블로그에 작성 후 본 게시판에 링크를 업로드 또는 본 게시판에 작성. 제목은 '투자노트 금융공학 퀀트 프로그래밍 과정 x주차과제' 등으로 작성 (※ 본 게시판에 작성한 내용은 주기적으로 삭제 및 정리되오니 강의 내용을 가지고 있으시려면 본인 블로그에 작성하시오) 2. 양 : 최종과제 스크린샷 1장 이상 첨부. 스크린샷을 반드시 첨부하시오. 3. 기한 : 매주 일요일 오후 12시 전까지 ​ # 기본과제 및 제출 양식 1. 문자열 편집을 위해 string.h 를 인클루드 하고 다음 문항에 답하시오. (2시간 소요) 가. 문자 배열 "dhfl rhrl siasia"을 선언하시오. 나. strtok 함수의 사용법은 아래와 같다. 자른결과물 = strtok(원래문자열, 자를기준이되..

카테고리 없음 2021.02.07

C언어 16주차 과제

# 기본과제 및 제출 양식 1. 문자열 편집을 위해 string.h 를 인클루드 하고 다음 문항에 답하시오. (3시간 소요) 가. strchr 의 사용법은 아래와 같다. 찾은문자및 이후의 텍스트 데이터 = strchr(문자열,찾을 문자) 단, 문자가 찾아지지 않으면 NULL(0) 리턴. 이를 암기하시오. 한편, 문자열 "dhflrhrlsiasia"를 변수로 선언하시오. 나. "dhflrhrlsiasia"에서 r 이 처음으로 나타난 이후의 모든 문자열을 출력하고자 한다. 문자열에 dhflrhrlsiasia을 주고, 찾을 문자는 'r'로 주고 strchr을 이용한 뒤 결과를 출력하시오. 다. "dhflrhrlsiasia"에서 r 이 두번째로 나타난 이후의 모든 문자열을 출력하고자 한다. https://doj..

프로그래밍/C 2021.01.29