본문 바로가기

C언어

(19)
2025년 C언어 5주차(추가) 1학기 import sys #필요한 것을import해온다stack = [] #스택 생성n = int(sys.stdin.readline())for _ in range(n): x = sys.stdin.readline().strip() #x에 명령어를 집어넣는다. push의 경우 숫자가 함께 들어올 걸 대비하여 strip로 분리한다. if x.startswith('push'): _, y = x.split() stack.append(int(y)) #_는 명령어, y는 숫자값이다. elif x == 'pop': print(stack.pop() if stack else -1) #삼항연산자이다. A if 조건 else B라는..
2025년 1학기 C언어 4주차 def solution(n, wires): from collections import deque #자료구조를 불러옴 def bfs(start, graph, visit): #넓이우선 탐색을 한다 queue = deque([start]) visit[start] = True count = 1 # 시작 노드 포함 while queue: node = queue.popleft() #popleft로 맨 앞을 제거하며 반환한다 for n in graph[node]: if not visit[n]: visit[n] = True ..
2025년 1학기 C언어 3주차 def solution(sizes): #명함들을 가로인 큰 값 x 세로(작은 값) 형태로 정렬한다. sizes = [[max(w, h), min(w, h)] for w, h in sizes] #max_w가 가로이고 max_h가 세로이다.최대 가로 길이와 최대 세로 길이 찾는다. max_w = max(w for w, h in sizes) max_h = max(h for w, h in sizes) # 답을 반환한다. return max_w * max_h   def solution(k, d): #dungeons를 줄여서 d라고 하겠다. max_count = 0 # 탐험 순서를 확인한다. for x in permutations(d): ..
2025년 1학기 2주차 C언어 def solution(s): stack = [] #스택을 저장할 배열이다 for x in s:#스택이 끝날 때 까지 for문을 돈다 if x == '(': # 여는 괄호는 스택에 추가 stack.append(x) else: # 닫는 괄호일 경우 if stack: # 스택에 여는 괄호가 있으면 제거 stack.pop() else: # 스택이 비어 있으면 짝이 맞지 않음 return False # 스택이 비어 있으면 올바른 괄호 문자열 return len(stack) == 0   def sol..
2025년 1학기 C언어 1주차 def solution(numbers): numbers = list(map(str, numbers)) # 들어온 숫자들을 문자열로 변환 numbers.sort(key=lambda x: x * 10, reverse=True) # 문자열을 10번 반복하여 비교한다.간결성을 위해 lambda함수를 사용한다. answer = ''.join(numbers) # 정렬된 숫자들을 이어 붙이기 return '0' if answer[0] == '0' else answer # "만약 000" 같은 경우 "0"으로 반환
겨울 C언어 4주차 mermaid일정표를 만들어줄 수 있다. 이미지로 보면 아래와 같이 생겼다. 코드로 보면 이렇다. ### 4.1 개발 일정(WBS)* 아래 일정표는 머메이드로 작성했습니다.```mermaidgantt title tutorial django dateFormat YY-MM-DD section 기획 글조회(R) :2023-10-26, 1d 글생성/수정/삭제(CUD) :2023-10-28, 1d 로그인 기능 :2023-10-31, 1d 검색 기능 :2023-10-31, 1d 상세뷰 추가 구성 :2023-11-4, 1d section 디자인 리디자인 :2023-11-6, 1d section FE 메인..
겨울 C언어 2주차 깃허브로 협업을 할 때는 Organization으로 하는 게 좋다. your organization을 누른 뒤 new Organization을 해보겠다.  순서대로 따라가면 people을 눌렀을 때 invite member로 새로운 사람을 초대할 수 있다.  영상처럼 gitflowtest레파지토리를 만들어본다 만들어지고 난 뒤에 윗부분의 code들을 복사한다. 그 다음 바탕화면에 만든 폴더에 vs code로 터미널을 열고 복붙을 하면 이렇게 뜬다.  깃허브로 새로고침하면 바뀐 걸 알 수 있다 프로젝트에서 new project를 누르고 team으로 누르면 다음과 같은 화면이 뜬다.   여기서 new issue를 눌러서 투두리스트같은 걸 만들 수 있다. 누르면 다음과 같은 화면이 나오는데 오른쪽에 담당할 사..
겨울 C언어 2주차 Branch브랜치(branch)란 공간을 별도로 작업하는 방식을 말한다. 머지(Merge)는 브랜치로 따로 작업하던 공간을 합치는 것이다.기본적으로 branch명은 main을 쓴다.  해당 사진처럼 각각 개리, 빙키가 중간에 branch로 별도의 공간을 사용하도록 해보겠다. 전처럼 git clone으로 다운을 받아온다. README파일을 수정하며 개리 1부터 개리 3까지 add, commit, push를 하며 만들어준다. git branch 이름:이름"으로 만들어진 브랜치를 만들어준다 git checkout 이름:이름으로 이동한다.  해당 사진에서는 Gary라는 브랜치를 만들고, Gary라는 브랜치로 이동하는 것이다. 영상을 따라서 해당화면처럼 브랜치를 2개 더 만들어준다. 개리가 처음에 생성아 안됐기에..
겨울 C언어 1주차 간단한 실습과 공부 방향깃허브에서 레파지토리를 생성해준다, 그 뒤 create new file로 index.html이라는 파일을 만든 뒤 commit change를 눌러서 다음과 같은 정보를 저장해준다. 다른 사람에게 자신이 만든 github의 페이지를 보여주려고 한다면 Setting->page를 클릭 후 branch부분에서 None을 main으로 바꾼 뒤 save를 눌러준다.이후 만들어진 page를 url부분에 넣으면 다음과 같이 나온다.  .수정 수정하려면 키보드에서 .을 누른다. 그럼 이런 창이 뜬다. dev부분에 dev가 아닌 다른 게 있다면 com이 있다면 바꿔준다. com으로 바꾸면 아까의 레파지터리 화면으로 돌아간다. 이와 같이 수정한 뒤 왼쪽의 소스제어를 누르고 칸에 내용을 써준 뒤 체크표..
C언어 9주차 #include #include #define max 100000int arr[max + 1]; // 소인수를 저장할 배열void min(int N) { for (int i = 2; i max_P) ? arr[num] : max_P; num /= arr[num]; } return max_P;}int main() { int N, K; scanf("%d %d", &N, &K); min(N); int count = 0; for (int i = 1; i  1.N, K에 해당하는 값을 입력받고 arr로 소인수를 저장할 배열을 만듭니다. 2. min함수에서 각 숫자들의 최소 소인수들을 저장합니다. 이때 사용되는 건 에라토스..