좋아하는 일 그리고 잘하는 일, 그 사이 어딘가
close
프로필 배경
프로필 로고

좋아하는 일 그리고 잘하는 일, 그 사이 어딘가

  • 분류 전체보기 (279)
    • 회고 (0)
    • Java (64)
      • Java (9)
      • Java 8 (23)
      • Testing (1)
      • Design Pattern with Java (30)
    • Spring (13)
      • Spring (5)
      • 스프링 입문 (8)
    • 리팩토링 (26)
    • Redis (1)
    • C++ (4)
    • C# (11)
    • Unity (3)
      • Unity (3)
    • DB (1)
      • MySQL (1)
    • Data structure (2)
    • Algorithm (143)
      • 감명 깊게 본 코딩 팁 (3)
      • 정렬 (5)
      • 탐색 (10)
      • 동적 프로그래밍(DP) (1)
      • it 취업을 위한 알고리즘 문제 풀이 (20)
      • 프로그래머스 : Level 1 (54)
      • 프로그래머스 : Level 2 (40)
      • 프로그래머스 : SQL (10)
    • IDE (1)
    • 일상 (8)
    • 만화 (0)
    • 게임 (2)
  • 홈
  • 일상
  • 방명록
[C, C++] Call by value, Call by reference 쉽게 이해하기

[C, C++] Call by value, Call by reference 쉽게 이해하기

인트로 (본 포스팅은 포인터와 관련이 깊습니다.) 함수의 호출 방법은 대표적으로 Call by value(값에 의한 호출)와 Call by reference(참조에 의한 호출)가 있다. 함수 호출이란 말 그대로 정의된 함수를 호출하는 것으로 함수에 정의한 매개변수의 형태에 따라 Call by value 혹은 Call by reference인지 결정된다. 참고로 이 둘의 차이를 쉽게 이해하려면 포인터와 Stack을 어느 정도 알고 있어야 한다. Call by value Call by value란 함수 호출 시 넘기는 인자의 값이 매개변수에 복사(Copy)돼서 함수 내에서 매개변수에 직접적인 데이터 조작을 가해도 인자에 전혀 영향을 주지 않는 것이다. 여기서 값이란 주소 값이 아닌 그 자체로 유의미한 데이터..

  • format_list_bulleted C++
  • · 2021. 9. 11.
  • textsms
[C, C++] 배열(Array)은 포인터(Pointer)가 아니다!

[C, C++] 배열(Array)은 포인터(Pointer)가 아니다!

인트로 배열을 포인터라고 알고 있거나 배열의 이름이 포인터 내지는 포인터 상수라고 알고 있는 경우가 많다. 하지만 놀랍게도 배열은 포인터가 아니다! 배열은 배열이고 포인터는 포인터일 뿐이다. 다만 대부분의 코드에서 배열의 이름이 포인터로 변환되기에 배열의 이름 = 포인터라고 알고 있는 것 같다. 배열을 포인터로 나타낼 수 있는 이유는 C와 C++의 암시적인 변환(Decay) 정책에 의해 가능한 일이다. Decay란? 암시적으로 배열이 포인터로 변환하는 과정에서 배열의 타입과 크기를 잃어버리는 것을 Decay라고 한다. 본 포스팅에선 Decay를 "변환"이란 단어로 대체했다. 배열과 포인터 여기 배열이 하나 있다. int arr[3]; arr은 3개의 Integer를 담을 수 있는 메모리 공간이 있다. 그..

  • format_list_bulleted C++
  • · 2021. 8. 26.
  • textsms
[Algorithm] 25. 석차 구하기 (Brute force 브루트 포스)

[Algorithm] 25. 석차 구하기 (Brute force 브루트 포스)

인트로 브루트 포스 알고리즘이 적용될 문제를 소개하려 한다. 브루트 포스 Brute force, 브루트 포스는 완전 탐색 알고리즘이다. 완전 탐색 알고리즘이란 모든 경우의 수를 조사하는 방법이다. 자료구조 내의 모든 데이터를 탐색해야 하기에 자료구조에 따른 적절한 탐색 방법이 필요하다. 탐색 기법의 예시를 소개하면 선형 자료구조를 탐색하는 순차 탐색과 트리와 그래프와 같은 비선형 자료구조를 탐색하는 깊이 우선 탐색(DFS)과 너비 우선 탐색(BFS)이 있다. 석차 구하기 문제 N명의 학생의 수학 점수가 입력되면 각 학생의 석차를 입력된 순서대로 출력하는 프로그램을 작성하세요. ※ 입력설명 첫 줄에 N(1 n; vector scores(n); vector ranks(n, 1); for (int i = 0;..

  • format_list_bulleted Algorithm/it 취업을 위한 알고리즘 문제 풀이
  • · 2021. 8. 8.
  • textsms
[Algorithm] 9. 모두의 약수

[Algorithm] 9. 모두의 약수

인트로 대학교 1학년 때 코딩을 처음 배우면서 약수 구하기 과제를 참 많이 한 것 같다. 그만큼 약수 구하기가 알고리즘의 첫걸음을 시작하기 좋은 문제가 아닐까 한다. 본 포스팅에선 기본적인 약수의 개수 구하기와 여러 수의 약수의 개수를 구하는 코드를 소개하려 한다. 모두의 약수 문제 자연수 N이 입력되면 1부터 N까지의 각 숫자들의 약수의 개수를 출력하는 프로그램을 작성하 세요. 만약 N이 8이 입력된다면 1(1개), 2(2개), 3(2개), 4(3개), 5(2개), 6(4개), 7(2개), 8(4 개)와 같이 각 숫자의 약수의 개수가 구해집니다. 출력은 다음과 같이 1부터 차례대로 약수의 개수만 출력하면 됩니다. 1 2 2 3 2 4 2 4 와 같이 출력한다. ※입력설명 첫 번째 줄에 자연수 N(5 n..

  • format_list_bulleted Algorithm/it 취업을 위한 알고리즘 문제 풀이
  • · 2021. 7. 23.
  • textsms
[Algorithm] 11. 숫자의 총 개수(small, large)

[Algorithm] 11. 숫자의 총 개수(small, large)

인트로 알고리즘 코드는 C 또는 C++ 기반으로 작성되었습니다. 숫자가 입력되면 1부터 N까지의 숫자까지 총 몇 개의 숫자가 사용되었을지 구하는 문제이다. 숫자가 작으면 간단한 방식으로 해결이 되지만 숫자가 많아지면 시간이 오래 걸리게 된다. 작은 숫자 큰 숫자 모두 잘 돌아가는 코드를 알아보려 한다. 숫자의 총 개수 (SMALL) 문제 자연수 N이 입력되면 1부터 N까지의 자연수를 종이에 적을 때 각 숫자는 몇 개 쓰였을까요? 예를 들어 1부터 15까지는 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, 1, 5으로 총 21개가 쓰였음을 알 수 있습니다. 자연수 N이 입력되면 1부터 N까지 각 숫자는 몇 개가 사용되었는지를 구하는 프로그램을 작 성하세..

  • format_list_bulleted Algorithm/it 취업을 위한 알고리즘 문제 풀이
  • · 2021. 7. 22.
  • textsms
[Algorithm] 10. 자릿수의 합

[Algorithm] 10. 자릿수의 합

인트로 알고리즘 코드는 C 또는 C++ 기반으로 작성되었습니다. 자릿수의 합 구하기 알고리즘 기초에서 참 많이 보는 문제 유형같다. 예를 들어 123을 321로 바꾸기, 각 자릿수의 합을 구하기, 가장 많이 사용된 숫자 구하기 등 기본 원리만 알고가면 쉽다. 자릿수의 합 문제 N개의 자연수가 입력되면 각 자연수의 자릿수의 합을 구하고, 그 합이 최대인 자연수를 출력 하는 프로그램을 작성하세요. 각 자연수의 자릿수의 합을 구하는 함수를 int digit_sum(int x)를 꼭 작성해서 프로그래밍 하세요. ※입력설명 N개의 자연수가 입력되면 각 자연수의 자릿수의 합을 구하고, 그 합이 최대인 자연수를 출력 하는 프로그램을 작성하세요. ※출력설명 자릿수의 합이 최대인 자연수를 출력한다. 자리수의 합이 최대인..

  • format_list_bulleted Algorithm/it 취업을 위한 알고리즘 문제 풀이
  • · 2021. 7. 21.
  • textsms
  • navigate_before
  • 1
  • 2
  • navigate_next
전체 카테고리
  • 분류 전체보기 (279)
    • 회고 (0)
    • Java (64)
      • Java (9)
      • Java 8 (23)
      • Testing (1)
      • Design Pattern with Java (30)
    • Spring (13)
      • Spring (5)
      • 스프링 입문 (8)
    • 리팩토링 (26)
    • Redis (1)
    • C++ (4)
    • C# (11)
    • Unity (3)
      • Unity (3)
    • DB (1)
      • MySQL (1)
    • Data structure (2)
    • Algorithm (143)
      • 감명 깊게 본 코딩 팁 (3)
      • 정렬 (5)
      • 탐색 (10)
      • 동적 프로그래밍(DP) (1)
      • it 취업을 위한 알고리즘 문제 풀이 (20)
      • 프로그래머스 : Level 1 (54)
      • 프로그래머스 : Level 2 (40)
      • 프로그래머스 : SQL (10)
    • IDE (1)
    • 일상 (8)
    • 만화 (0)
    • 게임 (2)
인기 글
최근 글
최근 댓글
태그
  • #SQL
  • #프로그래머스
  • #알고
  • #C#
  • #카카오 기출
  • #코딩
  • #BFS
  • #코딩테스트
  • #C++
  • #알고리즘
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바