분류 전체보기 338

[딩코딩코 2025 코딩테스트 필수 알고리즘] - 5. LinkedList 구현

본 글에 사용된 코드와 이미지의 일부는딩코딩코 님의 『38군데 합격 비법, 2025 코딩테스트 필수 알고리즘』 강의를 참조하여 발췌·활용하였습니다.[본 게시물은 파트너스 활동의 일환으로 소정의 수수료를 받을 수 있습니다.] https://inf.run/tXMrp\이번 글에서는 앞서 알아본 LinkedList 를 구현해보려고 한다.LinkedList 는 노드와 포인터 로 구성되어 있다.즉, 칸에 있는 데이터, 다음 칸이 뭔지 두 가지 정보가 필요하다.LinkedList 구현두 가지 데이터를 가지고 있어야 하기 때문에 클래스 를 이용하면 된다.1. Node 클래스우선 클래스의 생성자에 data 를 인자로 받아서 self.data 에 저장한다. 그리고 다음 이어진 노드가 없기 때문에 self.next 에는 N..

[딩코딩코 2025 코딩테스트 필수 알고리즘] - 4. Array & LinkedList

본 글에 사용된 코드와 이미지의 일부는딩코딩코 님의 『38군데 합격 비법, 2025 코딩테스트 필수 알고리즘』 강의를 참조하여 발췌·활용하였습니다.[본 게시물은 파트너스 활동의 일환으로 소정의 수수료를 받을 수 있습니다.] https://inf.run/tXMrpArray(배열)배열이란?배열은 크기가 정해진 데이터의 공간이다. 원소의 순서는 0부터 시작하고, 이를 인덱스라고 부른다.배열 특징예시를 통해 배열의 특징을 알아보자. 캡슐 호텔을 만들었는데, 총 5명이 잘 수 있는 호텔이다.오늘 A,B,C,D,E 5명이 숙박을 한다고 한다.rooms = ["A","B","C","D","E"]이처럼 배열은 크기가 정해진 데이터의 공간이며, 한 번 정해지면 바꿀 수 없다.각 방에 방문해 웰컴 드링크를 전달했다.배열은..

TIL - 20250826

📚 오늘 공부한 내용 https://sson-coding.tistory.com/14 [CS] - 시간 복잡도, 공간 복잡도, 점근 표기법 이해하기우리 일상에서 돈이라는 한정된 자원이 있는 것처럼, 프로그래밍에서도 한정된 자원을 갖고 합리적인 결정을 내려야 할 때가 있다.프로그래밍에서 한정된 자원이란 시간 과 공간 이다.먼저 시sson-coding.tistory.comhttps://sson-coding.tistory.com/15 [김영한의 자바 입문] - 3. 연산자본 글에 사용된 코드와 이미지의 일부는 김영한 님의 『김영한의 자바 입문』 강의를 참조하여 발췌·활용하였습니다.연산자연산자란?연산자란 + , - , * , / 와 같이 계산을 수행하는 기호를 말한sson-coding.tistory.com ✍?..

TIL 2025.08.27

[김영한의 자바 입문] - 3. 연산자

본 글에 사용된 코드와 이미지의 일부는 김영한 님의 『김영한의 자바 입문』 강의를 참조하여 발췌·활용하였습니다.연산자연산자란?연산자란 + , - , * , / 와 같이 계산을 수행하는 기호를 말한다.추가로 피연산자란 연산 대상을 뜻한다.연산자의 종류산술 연산자: + , - , * , / , % (나머지 연산자)증감(증가 및 감소) 연산자: ++ , --비교 연산자: == , != , > , = , 논리 연산자: && (AND), || (OR), ! (NOT)대입 연산자: = , += , -= , *= , /= , %=삼항 연산자: ? :산술 연산자산술 연산자는 주로 숫자를 계산하는 데 사용되고, + , - , * , / , %(나머지) 가 있다.코드로 살펴보자.public class Operator1 {..

[CS] - 시간 복잡도, 공간 복잡도, 점근 표기법 이해하기

우리 일상에서 돈이라는 한정된 자원이 있는 것처럼, 프로그래밍에서도 한정된 자원을 갖고 합리적인 결정을 내려야 할 때가 있다.프로그래밍에서 한정된 자원이란 시간 과 공간 이다.먼저 시간은 모든 사람에게 주어진 공평한 자원이다. 개발자들은 프로그램이 최대한 빠르게 동작할 수 있도록 프로그램을 만든다.공간은 주로 컴퓨터 메모리를 뜻한다. 컴퓨터 사양 중 RAM(Random Access Memory)이 있는데, RAM 은 메모리 한도 내에서 프로그램을 동시에 실행 할 수 있다는 뜻이다.그럼 시간과 공간 중 어떤 자원이 더 중요할까?이 질문에 대한 답은 시간이 공간보다 중요하다고 할 수 있다.그 이유를 살펴보면 아래와 같다.공간은 돈을 추가로 지불하면 더 큰 메모리를 구매할 수 있지만 , 시간은 돈으로 살 수 ..

CS/알고리즘 2025.08.26

TIL - 20250825

📚 오늘 공부한 내용 https://sson-coding.tistory.com/11 소수 나열하기/백준 - 1929/파이썬문제 링크https://www.acmicpc.net/problem/1929문제Q. 정수를 입력 했을 때, 그 정수 이하의 소수를 모두 반환하시오. 소수는 자신보다 작은 두 개의 자연수를 곱하여 만들 수 없는 1보다 큰 자연수이다.# 20sson-coding.tistory.comhttps://sson-coding.tistory.com/12 문자열 뒤집기/백준 - 1439/파이썬문제 링크https://www.acmicpc.net/problem/1439문제Q. 0과 1로만 이루어진 문자열이 주어졌을 때, 이 문자열에 있는 모든 숫자를 전부 같게 만들려고 한다. 할 수 있는 행동은 문자열에..

TIL 2025.08.26

[백준] - 문자열 뒤집기(1439)/파이썬

문제 링크https://www.acmicpc.net/problem/1439문제Q. 0과 1로만 이루어진 문자열이 주어졌을 때, 이 문자열에 있는 모든 숫자를 전부 같게 만들려고 한다. 할 수 있는 행동은 문자열에서 연속된 하나 이상의 숫자를 잡고 모두 뒤집는 것이다. 뒤집는 것은 1을 0으로, 0을 1로 바꾸는 것을 의미한다.예를 들어 S=0001100 일 때,전체를 뒤집으면 1110011이 된다.4번째 문자부터 5번째 문자까지 뒤집으면 1111111이 되어서 2번 만에 모두 같은 숫자로 만들 수 있다.하지만, 처음부터 4번째 문자부터 5번째 문자까지 문자를 뒤집으면 한 번에 0000000이 되어서 1번 만에 모두 같은 숫자로 만들 수 있다.주어진 문자열을 모두 0 혹은 모두 1로 같게 만드는 최소 횟수..

백준 2025.08.25

[백준] - 소수 나열하기(1929)/파이썬

문제 링크https://www.acmicpc.net/problem/1929문제Q. 정수를 입력 했을 때, 그 정수 이하의 소수를 모두 반환하시오. 소수는 자신보다 작은 두 개의 자연수를 곱하여 만들 수 없는 1보다 큰 자연수이다.# 20이 입력된다면, 아래와 같이 반환해야 합니다![2, 3, 5, 7, 11, 13, 17, 19] 정답 풀이1번 풀이풀이소수를 넣을 배열 선언2 ~ number 까지의 숫자들이 n 에 들어가는 것을 반복2 ~ n-1 까지 i 에 들어가는 것을 반복n 이 i 로 나눠떨지면 소수가 아님으로 반복분 탈출2 ~ n-1 까지 n 이 나눠 떨어지지 않으면 배열에 추가정답 코드input = 20def find_prime_list_under_number(number): prime_l..

백준 2025.08.25

TIL - 20250824

📚 오늘 공부한 주제https://sson-coding.tistory.com/7 [인프런] - 딩코딩코 2025 코딩테스트 필수 알고리즘(3) : 점근 표기법본 글에 사용된 코드와 이미지의 일부는 딩코딩코 님의 『38군데 합격 비법, 2025 코딩테스트 필수 알고리즘』 강의를 참조하여 발췌·활용하였습니다.[본 게시물은 파트너스 활동의 일환으로 소sson-coding.tistory.comhttps://sson-coding.tistory.com/8 곱하기 or 더하기문제 링크문제Q. 다음과 같이 0 혹은 양의 정수로만 이루어진 배열이 있을 때, 왼쪽부터 오른쪽으로 하나씩 모든 숫자를 확인하며 숫자 사이에 '✕' 혹은 '+' 연산자를 넣어 결과적으로 가장 큰 수sson-coding.tistory.comhtt..

TIL 2025.08.25

[알고리즘] - 반복되지 않는 문자

문제 링크https://www.geeksforgeeks.org/dsa/given-a-string-find-its-first-non-repeating-character/문제Q. 다음과 같이 영어로 되어 있는 문자열이 있을 때, 이 문자열에서 반복되지 않는 첫번째 문자를 반환하시오. 만약 그런 문자가 없다면 _ 를 반환하시오.input = "abadabac"def find_not_repeating_first_character(string): # 이 부분을 채워보세요! return "_"result = find_not_repeating_first_characterprint("정답 = d 현재 풀이 값 =", result("abadabac"))print("정답 = c 현재 풀이 값 =", result..

백준 2025.08.24