분류 전체보기 230

BOJ 14888 - 연산자 끼워넣기

문제https://www.acmicpc.net/problem/14888  풀이백트래킹을 이용해 문제를 해결한다 백트래킹의 핵심 코드는 다음과 같다operator[i] -= 1backtracking(index + 1, sum)operator[i] += 1sum = temp해당 연산자는 사용했으므로 operator[i] -= 1을 해준다operator[i] == 0 이라면 연산자를 모두 사용했다는 뜻이다 이후 연산자를 1개 사용한 채로 backtracking(index + 1, sum)을 실행한다이는 다음 인덱스와 지금까지 계산한 결과값을 넘겨준다 다음으로 operator[i] += 1을 다시 해준다백트래킹 이전으로 연산자를 다시 선택하지 않은 상태로 만든다 마지막으로 sum 값을 다시 원래 값인 temp로..

BOJ/미해결 2024.09.14

2024 예스드림뮤직콘서트 (예스콘) 장소 일정 라인업 셔틀버스

추석 명절을 맞아 9월 14일 예산종합운동장 주경기장에서 2024 예산군 예스 드림 뮤직콘서트(YES CON)3을 개최합니다 1부에는 이윤아 등 지역 가수와 아이돌 원츄, 예산군청소년동아리연합회 유니크의 공연이 진행되며2부에는 투어스, 정수라, 린 등 정상급 가수들이 출연합니다   목차예스드림뮤직콘서트 일정예스드림뮤직콘서트 1부/2부 라인업 안내예스드림뮤직콘서트 셔틀버스 운영계획 알림예스드림콘서트 자주묻는 질문/답변예산종합운동장 길찾기예스드림뮤직콘서트 일정일시: 2024년 9월 14일 토요일시간: 14:30 부터 선착순 무료 입장 (1부 15:30 / 2부 18:00)장소: 예산종합운동장 주경기장   예스드림뮤직콘서트 라인업예스드림뮤직콘서트 1부/2부 라인업은 다음과 같습니다   예스드림뮤직콘서트 셔틀버..

카테고리 없음 2024.09.13

BOJ 15649 - N과 M (1)

문제https://www.acmicpc.net/problem/15649  풀이N과 M(3) 문제와는 달리 같은 숫자를 여러 번 사용할 수 없도록 조건식을 추가해야 한다  코드python123456789101112131415161718def backtracking(depth):    if depth == m:        print(*answer)        return    for i in range(1, n + 1):        if i in answer:            continue        answer.append(i)        backtracking(depth + 1)        answer.pop()  answer = [] n, m = map(int, input().split..

BOJ 2024.09.12

바이트 단위 입출력 스트림

InputStream바이트 단위 입력 스트림의 최상위 추상 클래스다많은 추상 메서드가 선언되어 있고 이를 하위 스트림이 상속받아 구현한다주요 하위 클래스는 다음과 같다스트림 클래스설명FileInputStream파일에서 바이트 단위로 자료를 읽는다ByteArrayInputStreambyte 배열 메모리에서 바이트 단위로 자료를 읽는다FilterInputStream기반 스트림에서 자료를 읽을 때 추가 기능을 제공하는 보조 스트림의 상위 클래스주요 메소드는 다음과 같다메서드설명int read()입력 스트림으로부터 한 바이트의 자료를 읽는다. 읽은 자료의 바이트 수를 반환한다int read(byte b[])입력 스트림으로 부터 b[] 크기의 자료를 b[]에 읽는다. 읽은 자료의 바이트 수를 반환한다int rea..

Java 2024.09.12

BOJ 15651 - N과 M (3)

문제https://www.acmicpc.net/problem/15651  풀이다음 순서로 문제를 해결한다 1. 만들 수 있는 모든 수열을 구해야 하므로, 완전 탐색을 이용한다2. 수열의 길이는 m이고 중복되지 않게 오름차순으로 출력한다 재귀함수를 이용해 백트래킹 알고리즘으로 문제를 해결한다  코드python12345678910111213141516def backtracking(depth):    if depth == m:        print(*answer)        return    for i in range(1, n + 1):        answer.append(i)        backtracking(depth + 1)        answer.pop()  answer = [] n, m = ..

BOJ 2024.09.11

트리 데이터 구조 - 트리, 이진 트리, AVL 트리, RB 트리, B 트리, 힙

트리트리 데이터 구조는 데이터를 계층으로 정렬한다컴퓨터 과학 분야에서 트리는 뒤집혀서 맨 위에 뿌리가 있는 나무처럼 보인다맨 위에 해당하는 노드를 루트 노드라고 한다트리의 나머지 요소는 루트 노드를 기준으로 구성한다루트 노드에서 멀어지는 방향으로 다른 노드가 연결되면, 그 노드를 하위 노드 또는 자식 노드라고 한다루트 노드를 향하는 방향으로 다른 노드가 연결 되면, 그 노드를 상위 노드 또는 부모 노드라고 한다리프 노드는 더 이상 자식 노드를 갖지 않는 트리의 마지막 노드다트리에서 노드를 연결하는 선을 에지라고 한다노드 하나와 그 자식 노드들로 구성된 트리를 서브트리라고 한다노드에는 데이터를 저장하며, 저장된 데이터를 식별하는 데 사용되는 키와 저장된 데이터인 값을 포함할 수 있다이진 트리(Binary ..

알고리즘 2024.09.09

IO Stream

입출력 스트림자바는 다양한 입출력 장치에 독립적으로 일관성있는 입출력을 입출력 스트림을 통해 제공한다파일 디스크, 키보드, 마우스, 네트워크, 메모리 등 모든 자료가 입력되고 출력되는 곳입출력 스트림의 구분대상 기준: 입력 스트림 or 출력 스트림자료의 종류: 바이트 스트림 or 문자 스트림기능: 기반 스트림 or 보조 스트림입력 스트림과 출력 스트림입력 스트림: 대상으로부터 자료를 읽어 들이는 스트림이다출력 스트림: 대상으로 자료를 출력하는 스트림이다스트림의 종류종류예시입력 스트림FileInputStream, FileReader, BufferedInputStream, BufferedReader 등출력 스트림FileOutputStream, FileWriter, BufferedOutputStream, Bu..

Java 2024.09.05

선형 데이터 구조 - 배열, 리스트, 스택, 큐

선형 데이터 구조선형 데이터 구조는 구성하는 요소들이 서로 인접해 순차적인 방식으로 정렬되어 있음을 뜻한다이런 데이터 구조는 이해하기 쉽고 개발할 때 사용하기 쉽다가장 일반적인 선형 데이터 구조는 배열과 리스트가 있다배열과 리스트는 범용적인 데이터 구조다거의 모든 데이터 구조가 배열이나 리스트에서 파생됐거나 어떤 방식으로든 이들을 사용한다배열배열은 데이터를 저장하고 구성하는 데 사용하는 가장 기본적인 데이터 구조 중 하나다배열은 자료형이 같은 요소들을 저장한다배열에 저장된 각각의 자료를 요소라고 하며, 0부터 번호가 매겨진다요소에 매겨진 숫자를 배열의 인덱스라고 한다배열의 구조배열의 구조는 다음과 같다배열 특징배열 내의 요소들은 순차적 또는 연속적으로 정렬되어 있다이 특징으로 배열 요소들을 임의의 순서로..

알고리즘 2024.09.02