분류 전체보기 338

[딩코딩코 2025 코딩테스트 필수 알고리즘] - 7. 재귀함수

본 글에 사용된 코드와 이미지의 일부는딩코딩코 님의 『38군데 합격 비법, 2025 코딩테스트 필수 알고리즘』 강의를 참조하여 발췌·활용하였습니다.[본 게시물은 파트너스 활동의 일환으로 소정의 수수료를 받을 수 있습니다.] https://inf.run/tXMrp\​재귀함수재귀란 어떠한 것을 정의할 때 자기 자신을 참조하는 것을 뜻한다.이것을 함수에 적용하면 바로 자기 자신을 호출하는 함수가 된다.그렇다면, 이런 재귀 함수를 왜 사용하는 걸까?바로, 재귀 함수를 이용해서 간결하고 효율성 있는 코드를 작성할 수 있기 때문이다.예시를 통해 살펴보자.Q. 60에서 0까지 숫자를 출력하시오.def count_down(number): print(number) # number를 출력하고 c..

[김영한의 자바 입문] - 8. 메서드

본 글에 사용된 코드와 이미지의 일부는 김영한 님의 『김영한의 자바 입문』 강의를 참조하여 발췌·활용하였습니다.만약 프로그램의 여러 곳에서 같은 계산을 반복해야 한다면? 같은 코드를 여러번 반복해서 작성해야 한다. 더 나아가 어떤 연산을 수행하는지 출력하는 부분을 변경한거나, 제거하고 싶다면 해당 코드를 다 찾아다니면서 모두 수정해야한다. 이런 문제를 어떻게 해결할 수 있을지 알아보자.메서드자바에서는 함수를 Method(메서드) 라 한다. 메서드를 사용하면 앞서 고민한 문제를 해결할 수 있다.코드를 통해 살펴보자.public class Method1Ref { public static void main(String[] args) { int sum1 = add(5, 10); System.out..

[김영한의 자바 입문] - 7. 배열

본 글에 사용된 코드와 이미지의 일부는 김영한 님의 『김영한의 자바 입문』 강의를 참조하여 발췌·활용하였습니다.배열배열은 같은 타입의 변수를 반복해서 선언하고 반복해서 사용하는 문제를 해결하기 위해 등장했다. 즉, 배열은 같은 타입의 변수를 사용하기 편하게 하나로 묶어둔 것이다.배열 변수 선언과 생성int[] students;students = new int[5]배열 변수 선언int[] students;배열을 사용하려면 위와 같이 배열 변수를 선언해야 한다.일반적인 변수와 차이점은 [ ] 대괄호가 들어간다는 점이다.배열 변수를 선언한다고 해서 아직 사용할 수 있는 배열이 만들어진 것은 아니다.배열 생성students = new int[5]배열을 사용하려면 배열을 생성해야 한다.new int[5] 라고 입..

[김영한의 자바 입문] - 6. 입력

본 글에 사용된 코드와 이미지의 일부는 김영한 님의 『김영한의 자바 입문』 강의를 참조하여 발췌·활용하였습니다.지금까지 하드코딩된 입력으로만 학습했는데, 사용자의 입력을 받는 방법을 배워보자.ScannerSystem.out 을 통해서 출력을 했듯, System.in 을 통해서 사용자의 입력을 받을 수 있다. 자바는 사용자가 입력할 수 있게 Scanner 라는 클래스를 제공한다.public class Scanner1 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("문자열을 입력하세요:"); String str = scanner.nextLine(); // 입력을 S..

TIL - 20250828

📚 오늘 공부한 내용https://sson-coding.tistory.com/21 [알고리즘] - 링크드리스트 합 계산문제Q. 다음과 같은 두 링크드 리스트를 입력받았을 때, 합산한 값을 반환하시오. 예를 들어 아래와 같은 링크드 리스트를 입력받았다면,각각 678, 354 이므로 두개의 총합678 + 354 = 1032 를 반환해야sson-coding.tistory.comhttps://sson-coding.tistory.com/22 [딩코딩코 2025 코딩테스트 필수 알고리즘] - 6. 이진탐색본 글에 사용된 코드와 이미지의 일부는 딩코딩 님의 『38군데 합격 비법, 2025 코딩테스트 필수 알고리즘』 강의를 참조하여 발췌·활용하였습니다.[본 게시물은 파트너스 활동의 일환으로 소정sson-coding...

TIL 2025.08.29

[김영한의 자바 입문] - 5. 스코프 & 형변

본 글에 사용된 코드와 이미지의 일부는 김영한 님의 『김영한의 자바 입문』 강의를 참조하여 발췌·활용하였습니다.스코프(Scope)변수는 선언한 위치에 따라 지역 변수, 멤버 변수(클래스 변수, 인스턴스 변수) 와 같이 분류된다. 지역 변수 는 특정 지역에서만 사용할 수 있는 변수라는 뜻이고, 특정 지역을 벗어나면 사용할 수 없다.특정 지역은 변수가 선언된 코드 블록( { } ) 이다. 지역 변수는 자신이 선언된 코드 블록 안에서만 생존하고, 자신이 선언된 코드 블록을 벗어나면 제거된다.코드를 통해 살펴보자.package scope;public class Scope1 { public static void main(String[] args) { int m = 10; //m 생존 시작 if (true)..

[딩코딩코 2025 코딩테스트 필수 알고리즘] - 6. 이진탐색

본 글에 사용된 코드와 이미지의 일부는 딩코딩 님의 『38군데 합격 비법, 2025 코딩테스트 필수 알고리즘』 강의를 참조하여 발췌·활용하였습니다.[본 게시물은 파트너스 활동의 일환으로 소정의 수수료를 받을 수 있습니다.] https://inf.run/tXMrp\이진 탐색 vs 순차 탐색특정 숫자를 맞추는 게임인 업다운 게임을 생각해보자. 가장 좋아하는 숫자, 끌리는 숫자, 1부터 차근차근 등 특정 숫자를 맞추는데 다양한 방식이 있을 것이다.알고리즘 관점에서 보면 가장 효율적인 방법은 범위의 절반인 50을 시도 해보는 것이다. 대답이 UP 이라면 1~49 는 후보에서 없어지고, 대답이 DOWN 이면 51~100 이 후보에서 없어진다.이 방법을 이진 탐색이라고 한다.순차 탐색그러면 순차 탐색과 이진 탐색 ..

[알고리즘] - 링크드리스트 합 계산

문제Q. 다음과 같은 두 링크드 리스트를 입력받았을 때, 합산한 값을 반환하시오. 예를 들어 아래와 같은 링크드 리스트를 입력받았다면,각각 678, 354 이므로 두개의 총합678 + 354 = 1032 를 반환해야 한다.단, 각 노드의 데이터는 한자리 수 숫자만 들어갈 수 있다.[6] -> [7] -> [8][3] -> [5] -> [4] 정답 풀이각 링크드 리스트의 헤드를 따라가면서, 자릿수에 맞게 더해주면 된다. 자릿수에 맞게 더하기 위해서는 총액에서 10을 곱한 다음에 현재 노드의 값을 더해주면 된다.현재 [6] → [7] → [8] 로 연결되어 있으니까 sum 이라는 변수에 0 을 저장한 다음에, 0 * 10 + 6 을 하면 sum 은 6이 된다.그리고 6 * 10 + 7 을 하면 sum 은 ..

백준 2025.08.28

TIL - 20250827

📚 오늘 공부한 내용 https://sson-coding.tistory.com/17 [딩코딩코 2025 코딩테스트 필수 알고리즘] - 4. Array & LinkedList본 글에 사용된 코드와 이미지의 일부는딩코딩코 님의 『38군데 합격 비법, 2025 코딩테스트 필수 알고리즘』 강의를 참조하여 발췌·활용하였습니다.[본 게시물은 파트너스 활동의 일환으로 소sson-coding.tistory.comhttps://sson-coding.tistory.com/18 [딩코딩코 2025 코딩테스트 필수 알고리즘] - 5. LinkedList 구현본 글에 사용된 코드와 이미지의 일부는딩코딩코 님의 『38군데 합격 비법, 2025 코딩테스트 필수 알고리즘』 강의를 참조하여 발췌·활용하였습니다.[본 게시물은 파트너스..

TIL 2025.08.28

[김영한의 자바 입문] - 4. 조건문 & 반복

본 글에 사용된 코드와 이미지의 일부는 김영한 님의 『김영한의 자바 입문』 강의를 참조하여 발췌·활용하였습니다.조건문조건문이란 특정 조건에 따라서 다른 코드를 실행하는 것을 말한다.조건문에는 if문 , switch문 이 있다.먼저 if 문에 대해 알아보자.if 문if 문은 특정 조건이 참인지 확인하고, 그 조건이 참(true) 인 경우 특정 코드 블록을 실행한다.if (condition) { // 조건이 참일 때 실행되는 코드}추가로 if 문 다음에 실행할 명령이 하나만 있을 경우에는 { } 중괄호를 생략할 수 있다. 하지만 가독성 과 유지보수성 때문이라도 중괄호를 사용하는 것이 좋다.else 문else 문은 if 문에서 만족하는 조건이 없을 때 실행하는 코드를 제공한다.if (condition) { /..