분류 전체보기241 C언어 기본] 02 상수와 데이터 출력 목차 내용 이해 C프로그램 구조, 데이터 출력(콘솔) 상수와 데이터 표현법 컴퓨터 내부에 값이 저장되는 방식 알게된 점 내용 이해 { 학습목표 C프로그램 구조 값 표현법, 결과 출력법 값 저장 방식 ____C프로그램 구조, 데이터 출력(콘솔) 함수: 일정한 기능을 하는 코드 단위. main 함수 #include /* 작성자: 박현수 제목: 10+20을 하는 프로그램 */ int main(void) //여기가 머리, 함수 원형, 이름과 필요한 데이터 표시 {// 여기부터 몸통 printf("10+20=%d\n", 10+20); return /*이런 식으로 중간주석 가능*/ 0; }// 여기까지는 몸통 함수 작성 규칙 세미콜론으로 문장 끝 표시 한 줄에 한 문장씩(가독성) 들여쓰기 콘솔출력 printf(pr.. 2024. 3. 8. C언어 기본] 01 프로그램 만들기 void 요약(혼공C) { C는 UNIX에서 쓰려고 개발; 컴파일 = 소스코드→컴파일러 → 기계어의 과정을 말한다; 비주얼 스튜디오는 컴파일러의 일종이라고 나와 있다. (내 생각엔 여러 컴파일러를 포함한 IDE 같다.); 유용한 단축키 Ctrl+Shift+B(컴파일) Ctrl+F5(실행) (소스)전처리(전처리 소스)컴파일(목적파일)링크(실행파일) } void 예시(검색 결과, Chat GPT) { #include int main() { printf("Hello, World!\n"); return 0; } 이 프로그램은 표준 출력에 "Hello, World!"를 출력합니다. 각 단계별로 파일이 어떻게 변화하는지 살펴보겠습니다. 1. 전처리(Preprocessing) 단계 목적: 소스 코드에서 #includ.. 2024. 3. 4. 10844번 쉬운 계단 수 동적 계획법(Dynamic Programming)을 사용해서 문제를 해결해 보자. 길이가 n이고 마지막 숫자가 0에서 9까지 각각인 계단 수의 개수를 dp[n][last]라고 할 때, (dp[1][0] = 0) (길이가 1이고 마지막 숫자가 0인 계단 수는 없다.) (dp[1][i] = 1) (1 2024. 3. 3. DCS 초보 2024. 3. 2. 나의 방학 2024. 3. 2. 가장 가까운 두 점 def closest_pair(points): def sq_dist(p1, p2): return (p1[0] - p2[0])**2 + (p1[1] - p2[1])**2 def closest_band(mid_band, d): min_d = d mid_band.sort(key=lambda x: x[1]) # y좌표정렬 for i in range(len(mid_band)): for j in range(i+1, len(mid_band)): if (mid_band[j][1] - mid_band[i][1])**2 < min_d: dist = sq_dist(mid_band[i], mid_band[j]) if dist < min_d: min_d = dist else: break return min_d def close.. 2024. 3. 2. 가장 긴 바이토닉 부분 수열 이번에는 글을 쓰면서 풀어 보자 . 이 문제는 최장 증가 수열 문제를 응용한 문제다. 그런데 최장 증가 수열 문제의 내 코드를 보아도 이해가 바로 안 가서 다시 공부했다. 먼저 LIS라고도 하는 최장 증가 수열 A에 대해 A[i]가 i번째 원소라고 하면 dp는 다음과 같이 정의할 수 있다. dp[i] = i번째 원소를 포함하는 가장 긴 증가하는 수열 증가하는 수열이 i번째 수를 포함하려면 포함시키려는 기존 수열의 마지막 원소가 i번째 수보다 작아야 한다. 만약, i번째 수를 포함시킬 수 있다면( 기존 수열의 마지막 원소가 i번째 수보다 작다면) 기존 수열의 길이에 + 1을 하면 된다. 그러니까 dp[i]를 정할 때, for i in range(n): for j in range(i): if a[i] > a.. 2024. 3. 2. 젯슨 나노 USB SSD 부팅 2024. 2. 29. 네 개의 다른 우분투 서버 카다스, 라즈베리파이4 젯슨 나노, amdPC 카다스는 정말 빠릿해요. 2024. 2. 28. 1932번 정수 삼각형 n = int(input()) delta = [list(map(int, input().split())) for _ in range(n)] dp = [[0]*x for x in range(1,n+1)] print(n) print(delta) print(dp) if n == 1: print(delta[0][0]) else: dp[0][0] = delta[0][0] for i in range(n): for j in range(i+1): print(i,j,len(dp[i-1])) if 0==j: dp[i][j] = dp[i-1][j] + delta[i][j] elif len(dp[i-1])==j: dp[i][j] = dp[i-1][j-1] + delta[i][j] else: dp[i][j] = max(dp[i-.. 2024. 2. 28. 1463번 1로 만들기 def counter(n): dp = [0] * (n + 1) for i in range(2, n + 1): dp[i] = dp[i - 1] + 1 if i % 2 == 0: dp[i] = min(dp[i], dp[i // 2] + 1) # 3으로 나누어 떨어지는 경우 if i % 3 == 0: dp[i] = min(dp[i], dp[i // 3] + 1) return dp[n] n = int(input()) print(counter(n)) 숫자 i를 1로 만들 수 있는 최소 계산 횟수를 dp[i] 라고 정의하면, 기본적으로 +1연산에 의해 1개씩 증가하고, 2로 나누어떨어지는 i의 경우 2분의 1 위치의 dp에 1을 더한 방법과 이전 수에 1을 더한 방법 중 최소 횟수를 저장한다. 3로 나누어떨어지는 .. 2024. 2. 28. DIY 2015년 마스터 건반용 책상 제작(완성까지) 드디어 책상 만들기다. 만드는 순서는 아주 간략하게 다음과 같다. 상판 위에 올라갈 구조물 만들기 상판 사포질하고 라운딩하고 오일 도포하고 폴리싱하는 긴 과정 상판을 지지할 서랍(기둥역할) 만들기 서랍 기둥 사이에 들어갈 마스터 건반 서랍 만들기 상판 고정 장치 만들기 집에 옮겨 조립하기. 처음에는 학교 창고에서 하다가 학교 운전원 선생님께서 축사 창고를 빌려 주셔서 눈치 보지 않고 밤늦도록 마음 놓고 작업할 수 있었고 그래서 비교적 짧은 시간 내에 끝낸 것 같다! 스프러스 각재로 모니터 받침대를 만들고 있는 모습이다. 이 받침대는 조명 역할도 하고 필요에 따라 좌우의 수납장에 레고처럼 빼거나 끼우거나 한칸 앞 뒤로 옮길 수 있게 하기 위해 이런 모양이다. 상부 구조물에 있는 각재 사이에 모니터 받침을 .. 2024. 2. 27. 이전 1 ··· 11 12 13 14 15 16 17 ··· 21 다음