목표 Java의 추상클래스와 인터페이스, 자바 컬렉션 API에 대해 이해하고 로그인, 회원가입, 회원정보 수정 기능을 갖춘 데이터베이스 대체 클래스를 제작해봅니다. 내용정리 인터페이스의 사용 이유 정보 은닉: 실제 구현 클래스를 몰라도 인터페이스를 통해 사용할 수 있습니다. 구현 클래스의 독립성: 인터페이스를 통해 여러 클래스가 독립적으로 구현될 수 있습니다. 다형성: 인터페이스를 구현하는 클래스들을 통일된 타입으로 다룰 수 있습니다. 2. 인터페이스와 추상 클래스의 차이점 다중 상속: 인터페이스는 다중 상속이 가능하며, 추상 클래스는 단일 상속만 가능합니다. 구현: 인터페이스는 메서드의 선언만 있고, 구현이 없습니다. 반면에 추상 클래스는 일부 메서드의 구현이 가능합니다. 느슨한 결합: 인터페이스는 구..
들어가며 페어프로그래밍 중 스프린트를 느꺄보는 경험을 했습니다. 간단한 알고리즘인 파이썬 버블 정렬을 팀원과 함께 5분씩 번갈아가며 설명하고 나머지 사람은 그에 따라 코드를 작성하는 방식이었습니다. 결과물 def bubble_sort(array): for i in range(len(array)): for j in range(len(array)-i-1): if (array[j] > array[j+1]): temp = array[j] array[j] =array[j+1] array[j+1] = temp print(array) array = [1, 10, 5, 8, 7, 6, 4, 3, 2, 9] bubble_sort(array) 회고 신한투자증권 프로 디지털 아카데미 교육생으로 활동하면서 미니 프로젝트(약 ..
목표 JAVA의 클래스 구성요소, 다형성 에 대해 이해합니다. 내용 정리 필드와 메소드 자바에서 변수는 필드(Field)를, 함수는 메소드(Method)를 말합니다. 이는 자바 개발에서 일반적인 용어 사용 관례입니다. 코드 컨벤션 자바에서는 코드의 가독성을 높이기 위해 코드 컨벤션을 따릅니다. 일반적으로 구글 컨벤션을 따르며, 이는 코드의 일관성을 유지하고 협업 시에도 코드를 이해하기 쉽게 합니다. 생성자와 접근 제어 생성자(Constructor)는 객체를 생성하면서 필드를 초기화하는 특별한 메소드입니다. 클래스 내의 접근 제어자를 private으로 설정하면 외부에서 직접 값을 설정하지 못하게 합니다. ➡️ 값의 변경이 필요하다면? ➡️ setPrice와 같음 하수로 해당 클래스 내부에서 메소드를 통해 ..
클라우드 기반 백엔드 프로그래밍 세션에 앞서, 기초 JAVA에 대한 학습을 진행하여 SpringBoot 프레임워크 학습을 위한 기반을 다졌습니다. 목표 Java의 특징과 환경 그리고 자바 개요, 변수와 자료형, 제어문, 클래스와 객체에 대해 이해합니다. 내용정리 JAVA와 Javascript Javascript에서 "Java"라는 용어가 사용된 이유는 당시 자바가 가장 유명한 언어였기 때문입니다. JAVA는 대한민국에서 매우 중요한 언어로 자바 공화국이라 불릴 정도로 중요한 역할을 합니다. 서버 개발에 있어 JAVA는 매우 중요한 위치를 차지하며, 특히 정부에서 공공기관에 자바를 표준으로 사용하고 있습니다. JAVA의 환경 JVM (Java Virtual Machine): 자바 프로그램이 돌아갈 수 있는..
2024.03.13 하나금융 코딩테스트 시험 시간은 10:30 ~ 13:00 로 2시간 30분 가량 치뤘고 알고리즘 3문제, SQL 3문제였습니다. 다른 블로그 참고했을 때 알고리즘으로는 그리디와 구현이 나왔다고 했었는데 이번 시험도 비슷했습니다! 그리디 알고리즘 그래프 문제 구현 문제 조건이 다른 항목 집계 JOIN 3개 이상의 JOIN 엘리스 코딩 환경에서 수행됐고, 난이도 자체는 높지는 않았으나 제가 잘 봤는지는 모르겠습니다 : ) SQL 문제에 있어서는 format을 지정하는 함수까지 잘 알면 좋다고 생각했습니다. 문제에 대해 더 자세한 사항은 유출하면 안 되므로 이 정도 기록하겠습니당 좋은 소식 가지고 올 수 있으면 좋겠네요
문제 양수와 +, -, 그리고 괄호를 가지고 식을 만든 후, 다시 괄호를 지웠다. 다시 괄호를 쳐서 값을 최소로 만드는 문제이다. 입력 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어진 식(처음과 마지막은 숫자) 출력 최솟값 https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net ★Keypoint : 그리디 알고리즘 , sys 그리디 알고리즘을 사용하면, 각 '+' 연산 이후에 나오는 수는 '-'로 빼주면서 최소값을 만들 수 있다 EX) 입력..
문제 최대 힙을 이용하여 다음과 같은 연산을 지원하는 프로그램을 작성 배열에 자연수 x를 넣는다. 배열에서 가장 큰 값을 출력하고, 그 값을 배열에서 제거한다. 프로그램은 처음에 비어있는 배열에서 시작 입력 첫째 줄: 연산의 개수 N(1 ≤ N ≤ 100,000) N개의 줄 : 연산에 대한 정보를 나타내는 정수 x 출력 입력에서 0이 주어진 횟수만큼 답을 출력( 입력이 0이면 가장 큰 값 출력, 자연수라면 heap에 해당 원소 추가)만약 배열이 비어 있는 경우인데 가장 큰 값을 출력하라고 한 경우에는 0을 출력 https://www.acmicpc.net/problem/11279 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정..
문제 길이 M의 수열 C를 가져와서 수열의 원소를 앞에서부터 차례대로 queuestack에 삽입할 것이다. 이전에 삽입한 결과는 남아 있다. queuestack에 넣을 원소들이 주어졌을 때, 해당 원소를 넣은 리턴값을 출력하는 프로그램을 작성 queuestack 작동 원리 x0을 입력받는다. x0을 1번 자료구조에 삽입한 뒤 1번 자료구조에서 원소를 pop한다. 그때 pop된 원소를 x1이라 한다. x1 을 2번 자료구조에 삽입한 뒤 2번 자료구조에서 원소를 pop한다. 그때 pop된 원소를 x2이라 한다. ... x{N-1}을 N번 자료구조에 삽입한 뒤 N번 자료구조에서 원소를 pop한다. 그때 pop된 원소를 xN이라 한다. 입력 첫째 줄 : queuestack을 구성하는 자료구조의 개수 N 둘째 줄..
문제 정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램 push X: 정수 X를 큐에 넣는 연산 pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력 size: 큐에 들어있는 정수의 개수를 출력 empty: 큐가 비어있으면 1, 아니면 0을 출력 front: 큐의 가장 앞에 있는 정수를 출력. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력 back: 큐의 가장 뒤에 있는 정수를 출력. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력 입력 첫째 줄: 명령의 수 N (1 ≤ N ≤ 2,000,000) 둘째 줄부터 N개의 줄 : 한 명령 ( 1 ≤ 주어지는 정수 ≤ 100, 000 ) 출력 명령을 수행한 결..