목록전체 글 (149)
굥의 컴공일지
내가 나중에 또 꾸미게 될때 보려고 만든 페이지깃꾸를 알고있긴 했지만 굳이,,, 라는 생각에 안하고 있다가 이번에 깃허브를 많이 이용하게 되면서 꾸며보게 되었다.완전 초보라 뭐가 뭔지 모르겠지만.. 그냥 이것저것 누르면서 했음,,,1-1. 일단 꾸미기 위해서는 본인이름의 레퍼지토리를 만들어야 함저 new를 눌러서 만들면 됨 1-2. Owner 본인이랑 같은 이름으로 Repository name에 작성하면됨(나는 이미 만들어서 빨간색)주의할점은 아래 Add README 부분을 On 해야 함2. READ ME 부분을 수정해야 하는데 둘 중 하나 누르면 됨3. 온라인에 마음에 드는거 코드 복사하면 되는데 보통 여기서 많이 함, 나도 여기서 했다https://github-profile-readme-editor...
24.10.15알고리즘 시험을 봤다.작년에 알고리즘에 대해 하나도 공부를 하지 않아 재수강을 한 과목이다.기초지식도 아예 없는 상태에서 들었고 워낙 컴퓨터 공학과 과목들에 대해서 대체적으로 자신이 없는 편인데 더욱더 없는 과목이었다. 시험은 어렵진 않은 난이도 였다. 정말 모르는 문제는 한문제 정도 있었고 공부를 자세하게 하지 않아 답을 적긴적었는데 교수님의 마음에 들게 적은지는 모르곘는 문제 하나정도.. 오늘 답지를 봤더니 어처구니 없는 실수를 세개나 했다. 1. Tb(n) = 5n + logn 일때, 빅오 & 오메가 & 세타 표기법은? 이 문제에서 눈이 이상한건지 잘 못생각해 버렸다. O(n)은 잘 적긴 했으나 Ω(logn)이라고 적어 버렸다...ㅎ최고차항이 아닌 다른 차항은 무시하고 최고 차항을 적..
https://school.programmers.co.kr/learn/courses/30/lessons/12939 내가 생각했던 방법 / 풀이 처음에 고민을 했던게 배열 선언방식을 꼭 ' ex_ String[] myArray = new String[5]; ' 이런형태로만 생각했다. (처음에 꼭 배열이 몇개인지 선언하는..) 근데, 배열 선언방식중에 ' ex_ String[] myArray = {"value1", "value2", "value3"}; ' 이런형식으로 선언과 함께 초기화를 하면 이 개수만큼 배열이 초기화되며 생성된다. 그래서 문제를 풀었던 방식은, 입력을 문자열 하나로 입력을 받는다. 이를 나는 문자열 배열을 통해 공백을 기준으로 문자열 하나하나로 저장을 했다. 첫 문자를 max이자 min..
https://school.programmers.co.kr/learn/courses/30/lessons/86051 내가 생각했던 방법 / 풀이 일단 배열을 하나 만들어 해당 수가 있는 부분을 boolean을 사용하거나 숫자를 사용해서 판별할 수 있게한다.마지막으로 배열 전체를 검사하면서 해당 수가 없는 부분만 더하도록한다. 코드class Solution { public int solution(int[] numbers) { int answer = 0; int[] check = new int[10]; for(int i=0; i다른 답class Solution { public int solution(int[] numbers) { int sum = 4..
원형연결리스트: 연결 리스트의 마지막 노드의 링크가 첫 번째 노드를 가리키게 하여 리스트의 끝과 처음이 연결된 형태의 자료구조 - 한 노드에서 다른 모든 노드로의 접근 가능- 헤드포인터가 마지막 노드를 가리킴장점 : 마지막 노드에 바로 접근이 가능하고, 마지막 노드에서 하나 이동하면 바로 처음노드에 접근이 가능해짐 (상수시간 접근가능) EX_7.1_원형연결리스트 예제#include #include typedef int element;typedef struct ListNode { element data; struct ListNode *link;} ListNode;ListNode* insert_first(ListNode* head, element data) { ListNode *node =..
[ 중간고사 ] 1. 시험은 4지선다로 쉬웠음.. 심지어 너무 쉬웠음ex) 알고리즘 조건 5개 알려주길래 하나하나 부가설명까지 외워가고, 시험에는 '알고리즘 5가지 조건을 쓰시오' 이럴 줄 알았는데그냥 4가지주고 (설명도 없음 ) 선택하는 문제였음.2. 코드관련 문제 하나도 안나옴, 수업에는 코드를 그렇게 많이 알려줬는데 하나도 없음...3. 근데 내가 멍청해서 응용을 못함→ 응용하는 문제는 코드 메서드 작성형태로 나왔는데 기존 알려준 코드에 없는 내용 → 3문제가 코드 쓰는 문제였음. 근데 지금보니 한문제는 맞았고 두문제 틀림. 나머지 선택하는 문제는 틀릴리가 없음. 나머지 문제는 헷갈렸던 건 있는것 같은데 기억이 안남. 응용 3문제 1. 1+2+3...+(n-1)+n 을 순환호출을 이용해 코드를 ..
https://school.programmers.co.kr/learn/courses/30/lessons/12903 내가 생각했던 방법 / 풀이 처음에 풀때는 substring 개념이 확실하지 않아 계속 틀렸다. 개념을 정리하면서 정확하게 찾아보고서는 바로 풀었다.일단 문자열의 길이를 구하고 2로 나눠 가운데 수를 구한다. (ex5/2=2, 4/2=2가 나옴)이때 문자열의 인덱스는 0부터 시작한다 (주의!)substring은 (시작인덱스, 끝인덱스) 이렇게 매개변수를 줄 때 시작인덱스는 포함이 되지만 끝 인덱스는 포함이 되지 않는다. 따라서 홀수일경우에는 2로 나눈 수 그대로 출력하고, 짝수는 나눈수 -1부터 +1까지 인덱스를 범위를 줘서 출력한다. 개념substring: 문자열(String)에서 특정..
https://school.programmers.co.kr/learn/courses/30/lessons/12912 내가 생각했던 방법 / 풀이입력은 int형이지만 answer은 long형이라 형변환 부분에서 틀린적이 많아 주의했다.a가 작은수 b가 큰수로 해서 그 사이 값을 더하도록 했다. 코드를 길게 쓰면 min과 max를 써서 큰수와 작은 수를 구별한 뒤 계산했다.코드 1class Solution { public long solution(int a, int b) { long answer = 0; long min =0; long max =0; if(a>b){ max = (long)a; min = (long)b..
리스트: 여러 항목들을 차례대로 저장되어 있는 것 리스트 ADT객체 : n개의 element형으로 구성된 순서있는 모임연산insert(list,pos,item) : pos위치에 요소 추가insert_last(list,item) : 리스트 끝에 요소 추가insert_first(list,item) : 리스트 처음에 요소 추가delete(list,pos) : pos 위치의 요소를 제거clear(list): 리스트의 모든 요소를 제거get_entry(list,pos): pos위치의 요소를 반환get_length(list): 리스트의 길이 구함(=요소의 개수)is_empty(list): 리스트가 비었는지is_full(list): 리스트가 꽉 찼는지print_list(list): 리스트의 모든 요소를 출력배열로 구..
큐(QUEUE): 먼저 들어온 데이터가 먼저 나가는 자료구조선입선출(FIFO: First-In First-Out) 큐 메서드create(max_size)init(q)is_empty(q)is_full(q)enqueue(q, e) : q의 끝에 e를 추가한다dequeue(q) : q의 맨 앞 e를 제거해 반환peek(q) : q의 맨 앞 e를 읽어 반환선형큐: 배열을 선형으로 사용해 큐를 구현- 실제로 선형큐 사용X, 원형큐를 사용- 단점 : 데이터를 삭제해도 생긴 빈 공간을 재활용하지 못함- 큐를 전단과 후단을 관리하기 위해 2개의 변수 필요/ front : 첫번째 요소 앞의 인덱스, rear : 마지막 요소의 인덱스 EX_5.1_선형큐 예시#include #include #define MAX_QUEUE_..
