💻 프로그래밍 언어

💻 프로그래밍 언어/Java

[Java] Random().nextInt()

개요Java에서 Random().nextInt() 메서드는 Java의 java.util.Random 클래스에 속한 메서드로, 주어진 범위 내에서 임의의 정수를 생성하는 데 사용된다. Random 클래스는 난수 생성기를 제공하여 다양한 난수를 생성할 수 있게 해 준다. nextInt() 메서드의 사용법은 크게 두 가지로 나눌 수 있다. nextInt() 메서드 - 매개변수 없음이 메서드는 범위 제한 없이 임의의 정수를 생성한다. 생성된 정수는 int 자료형의 모든 범위 내에서 무작위로 선택된다.import java.util.Random;public class Main { public static void main(String[] args) { Random random = new Rando..

💻 프로그래밍 언어/Python

[Python] 리스트에서 가장 큰 값을 가진 인덱스 가져오기

✍️ 리스트에서 가장 큰 값 가져오기my_list = [10, 11, 14, 23, 9, 3, 35, 22]print(max(my_list))# 35 ✍️ 리스트에서 가장 큰 값을 가진 인덱스 가져오기my_list = [10, 11, 14, 23, 9, 3, 35, 22]print(my_list.index(max(my_list)))# 6 ✍️ 리스트에서 가장 큰 값을 가진 인덱스 목록 가져오기✏️ loop 사용my_list = [10, 11, 35, 14, 23, 9, 3, 35, 22]indices = []max_val = max(my_list)for index in range(len(my_list)): if my_list[index] == max_val: indices.append(..

💻 프로그래밍 언어/Python

[Python] 2차원 배열 선언하기

📓 Python에서의 1차원 배열 선언Python에서 1차원 배열을 선언할 때는 다음과 같이 * 연산자를 이용해 간단하게 선언할 수 있다.rows = 10arr = [0] * rowsprint(arr)# [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 그렇다면, 같은 방식으로 2차원 배열도 선언할 수 있지 않을까?rows = 10cols = 5arr = [[0] * cols] * rowsfor i in range(rows): print(arr[i]) '''[0, 0, 0, 0, 0][0, 0, 0, 0, 0][0, 0, 0, 0, 0][0, 0, 0, 0, 0][0, 0, 0, 0, 0][0, 0, 0, 0, 0][0, 0, 0, 0, 0][0, 0, 0, 0, 0][0, 0, 0, ..

💻 프로그래밍 언어/Python

[Python] sort()와 sorted()

sort()sort()는 리스트 객체의 내장 함수로, 이를 이용하면 별도의 정렬된 리스트가 반환되지 않고 내부 원소가 바로 저장된다.arr = [7, 5, 9, 0, 3, 1, 6, 2, 4, 8]arr.sort()print(arr)# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] sorted()파이썬은 기본 정렬 라이브러리인 sorted() 함수를 제공한다.sorted()는 퀵 정렬과 동작 방식이 비슷한 병합 정렬을 기반으로 만들어졌는데,병합 정렬은 일반적으로 퀵 정렬보다 느리지만 최악의 경우에도 시간 복잡도 $O(nlogn)$을 보장한다는 특징이 있다. 이러한 sorted() 함수는 리스트, 딕셔너리 자료형 등을 입력받아서 정렬된 결과를 출력한다.집합 자료형이나 딕셔너리 자료형을 입력받아도,..

💻 프로그래밍 언어/Python

[Python] 자주 사용되는 표준 라이브러리

표준 라이브러리란?특정한 프로그래밍 언어에서 자주 사용되는 표준 소스코드를 미리 구현해 놓은 라이브러리. 파이썬 표준 라이브러리는 다음 공식 문서에서 자세히 확인할 수 있다. The Python Standard LibraryWhile The Python Language Reference describes the exact syntax and semantics of the Python language, this library reference manual describes the standard library that is distributed with Python. It...docs.python.org 목차내장 함수기본 입출력 함수부터 정렬 함수까지 기본적인 함수들을 제공itertools파이썬에서 반복되..

💻 프로그래밍 언어/Python

[Python] 함수를 매개변수로 사용하는 대표적인 표준함수 (map() 함수와 filter() 함수)

📓 map() 함수와 filter() 함수함수를 매개변수로 사용하는 대표적인 표준 함수로 map() 함수와 filter() 함수가 있다.✔ 파이썬이 표준으로 제공하는 함수를 ‘내장 함수’ 또는 ‘표준 함수’ 라고 부른다 ✏️ map() 함수map() 함수는 리스트의 요소를 함수에 넣고 리턴된 값으로 새로운 리스트를 구성해 주는 함수이다.map(함수, 리스트)📌 예제def power(item): return item * itemitem_list = [1, 2, 3, 4, 5]output_map = map(power, item_list)print("# map() 함수의 실행 결과")print("map(power, item_list): ", output_map)print("map(power, item_l..

💻 프로그래밍 언어/Python

[Python] 값을 입력 받아 리스트에 넣기 (input() 함수와 sys.stdin.readline() 함수)

✏️ input()사용자가 입력한 값을 읽어들이는 함수list1 = []s = input('입력하세요: ')list1.append(s)print(list1)# 입력하세요: A# ['A'] 📌 원하는 자료형 받기만약에 문자열이 아닌 다른 자료형을 입력 받고 싶다면, input 앞에 원하는 자료형을 적기list1 = []s = int(input('입력하세요: '))list1.append(s)print(list1)# 입력하세요: 3# [3] 📌 띄어쓰기로 구분된 여러 개 문자 입력값 받기s = list(input().split())print(s)# 가 나 다 라 마# ['가', '나', '다', '라', '마'] 📌 띄어쓰기로 구분된 여러 개 숫자 입력값 받기number = list(map(int, in..

💻 프로그래밍 언어/Java

[Java] equals()와 hashCode()

개요Java에서 equals()와 hashCode() 메서드는 객체의 비교와 해시 기반 컬렉션을 다룰 때 중요한 역할을 한다.이 두 메서드는 Object 클래스에 정의되어 있으며, 이를 적절히 재정의함으로써 객체의 동등성을 정의할 수 있다. equals() 메서드equals() 메서드는 두 객체가 "논리적으로 동등한지"를 비교한다.기본적으로 Object 클래스의 equals() 메서드는 다음과 같이 구현되어 있다.public boolean equals(Object obj) { return (this == obj);}이는 기본적으로 두 객체의 레퍼런스를 비교한다. 만약 객체의 내용을 비교하고 싶다면 equals() 메서드를 재정의해야한다. hashCode() 메서드hashCode() 메서드는 객체의 ..

💻 프로그래밍 언어/Java

[Java] Set 컬렉션 + 합집합/교집합/차집합

Set 컬렉션Set 컬렉션은 저장 순서가 유지되지 않는다. 또한 객체를 중복해서 저장할 수 없고, 하나의 null만 저장할 수 있다. Set 컬렉션은 수학의 집합에 비유될 수 있다. 집합은 순서와 상관없고 중복이 허용되지 않기 때문이다. Set 컬렉션에는 HashSet, LinkedHashSet, TreeSet 등이 있으며 Set 컬렉션에서 공통적으로 사용 가능한 Set 인터페이스 메서드는 다음과 같다.import java.util.Set;import java.util.HashSet;import java.util.LinkedHashSet;import java.util.TreeSet;기능메서드설명객체 추가boolean add(E e)주어진 객체를 성공적으로 저장하면 true를 리턴하고, 중복 객체면 fal..

💻 프로그래밍 언어/Java

[Java] 자바 16 레코드(record)를 DTO에 적용하기

1. 레코드(record)란?자바 16부터 정식으로 도입레코드는 데이터 중심의 클래스를 보다 간결하게 정의할 수 있도록 설계되었음불변 객체를 쉽게 만들 수 있고, 자동으로 생성자, 접근자(getter), equals(), hashCode(), toString() 메서드를 제공함레코드는 상속을 할 수 없고, 멤버 변수는 private final로 정의됨 롬복 + 애노테이션 조합도 좋다고 생각했는데, 이 보다 간결해질 수 있다니!! >.이번 개인 프로젝트를 진행할 때, DTO에 이 레코드를 적용하면 좋을 것 같다는 생각이 들었다. 2. DTO에 적용하기우선, 레코드를 적용한 코드를 살펴보자!MovieDefaultDto는 Movie 엔티티를 직접 노출*하는 대신에 DTO로 변환하여 사용하기 위해 만들어졌다. ..

프로그⸝⸝◜࿀◝ ⸝⸝
'💻 프로그래밍 언어' 카테고리의 글 목록