[묘공단] 1주차 학습 기록 (배열, ArrayList)
알고리즘2024. 4. 21. 19:50[묘공단] 1주차 학습 기록 (배열, ArrayList)

1주차에는 Java와 ArrayList에 대해 공부했다. 대부분 아는 내용이지만 복습 차원에서 정리해보았다. 배열 배열은 인덱스와 값을 일대일 대응해 관리하는 자료구조이다. 배열의 특징 고정된 크기를 갖는다. 동일한 데이터 유형의 요소만 저장할 수 있다. 인덱스를 통해 요소에 직접 접근할 수 있다. 일반적으로 단순성과 고정된 크기로 인해 다른 데이터 구조에 비해 메모리와 속도 측면에서 더 나은 성능을 제공한다. 배열 선언 및 초기화 예시 int[] arr1 = {1, 2, 3, 4, 5}; int[] arr2 = new int[5]; // 크기 5의 배열을 선언 arr2[0] = 10; // 첫번째 요소로 10을 할당 arr2[1] = 20; // 두번째 요소로 20을 할당 // ... 배열과 차원 배열..

Docker로 MySQL 접속하기
Docker2024. 4. 19. 16:50Docker로 MySQL 접속하기

최근에 Docker를 사용해서 MySQL을 설치하고 사용해 보았다.겪었던 과정들을 소개하려고 한다. 1. DockerDocker란?도커는 컨테이너 환경에서 독립적으로 애플리케이션을 실행할 수 있도록 컨테이너를 만들고 관리하는 것을 도와주는 도구이다.컨테이너를 사용하면 개발자는 모든 종속성과 함께 애플리케이션을 소프트웨어 개발을 위한 표준화된 단위로 패키징할 수 있다.Docker 사용 이유기존에는 서버 PC마다 환경이 다르고 매번 환경변수, 의존성을 설정해주는 것이 매우 힘들었다.때문에, 서버, PC마다 버전 차이 등의 이유로 실행결과가 달라지는 문제가 발생했다.Docker는 컨테이너에서 환경변수, 의존성 등을 표준화된 단위로 패키징해주기 때문에 이러한 문제를 해결할 수 있다.Doc..

[프로그래머스] 올바른 괄호
알고리즘2024. 4. 19. 11:45[프로그래머스] 올바른 괄호

문제 설명 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 "()()" 또는 "(())()" 는 올바른 괄호입니다. ")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다. '(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요. 제한 사항 문자열 s의 길이 : 100,000 이하의 자연수 문자열 s는 '(' 또는 ')' 로만 이루어져 있습니다. 입출력 예 s answer "()()" true "(())()" true ")()(" false "(()(" false 풀이 처음 ..

[프로그래머스] 실패율
알고리즘2024. 4. 18. 23:22[프로그래머스] 실패율

문제 설명 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스테이지 차이가 너무 큰 것이 문제였다. 이 문제를 어떻게 할까 고민 한 그녀는 동적으로 게임 시간을 늘려서 난이도를 조절하기로 했다. 역시 슈퍼 개발자라 대부분의 로직은 쉽게 구현했지만, 실패율을 구하는 부분에서 위기에 빠지고 말았다. 오렐리를 위해 실패율을 구하는 코드를 완성하라. 실패율은 다음과 같이 정의한다. 스테이지에 도달했으나 아직 클리어하지 못한 플레이어의 수 / 스테이지에 도달한 플레이어 수 전체 스테이지의 개수 N, 게임을 이용하는 사용자가 현재 멈춰있는 스테이지의 번호가 담긴 배열 stages가 매개변..

자동차경주 게임 만들기 회고
Java2024. 4. 18. 15:54자동차경주 게임 만들기 회고

우테코 미션으로 유명한 자동차경주 게임을 만들었던 과정, 과정 중 느낀 점을 회고해보려 합니다. 1. 무작정 구현하기 처음에는 main 함수 안에 모든 기능들을 다 구현했습니다. 이게 좋지 않은 구조임은 알고 있지만, 처음부터 좋은 구조로 구현하기에는 역량이 부족하다고 느꼈습니다. 그래서 일단 기능들을 다 구현하고 이후에 리팩토링을 하겠다는 마인드로 접근했습니다. 코드 public class RacingCarApplication { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("경주할 자동차 이름을 입력하세요(이름은 쉼표(,)를 기준으로 구분)."); String[] cars ..

[프로그래머스] 행렬의 곱셈
알고리즘2024. 4. 17. 23:01[프로그래머스] 행렬의 곱셈

문제 설명 2차원 행렬 arr1과 arr2를 입력받아, arr1에 arr2를 곱한 결과를 반환하는 함수, solution을 완성해주세요. 제한 조건 행렬 arr1, arr2의 행과 열의 길이는 2 이상 100 이하입니다. 행렬 arr1, arr2의 원소는 -10 이상 20 이하인 자연수입니다. 곱할 수 있는 배열만 주어집니다. 입출력 예 arr1 arr2 return [[1, 4],[3, 2],[4, 1]] [[3, 3], [3, 3]] [[15, 15], [15, 15], [15, 15]] [[2, 3, 2], [4, 2, 4], [3, 1, 4]] [[5, 4, 3], [2, 4, 1], [3, 1, 1]] [[22, 22, 11], [36, 28, 18], [29, 20, 14]] 풀이 행렬의 행과..

image