Java 공부
·
면접 대비/Java
Java란 Java는 객체지향 프로그래밍 언어로 기본 자료형들을 제외한 나머지 요소들이 모두 객체로 표현되고, 객체지향 개념의 특징인 캡슐화, 상속, 다형성이 잘 적용된 언어입니다. Java의 장단점Java의 장점JVM 위에서 동작하기 때문에 운영체제에 독립적이고, 가비지 컬렉터를 통한 자동적인 메모리 관리가 가능합니다. Java의 단점JVM 위에서 동작하기 때문에 실행속도가 상대적으로 느리며, 다중 상속이나 타입에 엄격하고 제약이 많습니다. JVM이란JVM은 자바가상머신으로 스택 기반으로 동작하며, 자바 바이트 코드를 각 운영체제에 맞게 해석해주는 역할을 합니다. 또한 가비지 컬렉션을 통해 자동적인 메모리 관리를 해줍니다. Java 컴파일 과정Java 파일 생성build 실행자바 컴파일러의 javac의..
[자료구조] 스택(Stack)과 큐(Queue)
·
면접 대비/자료구조
스택(Stack)스택(Stack)은 후입선출(LIFO, Last In First Out) 방식의 자료구조이다. 가장 마지막에 저장된 데이터가 가장 먼저 꺼내지는 형태이다. 주요 연산Push()스택의 맨 위에 새로운 요소 추가Pop()스택의 맨 위에 있는 요소  반환 및 삭제Peek()스택의 맨 위에있는 요소  반환 사용처웹 브라우저 '뒤로가기' 기능메모리 영역의 스택 영역에 사용문자열 뒤집기 등 큐(Queue)큐(Queue)는 선입선출(FIFO, First In First Out) 방식의 자료구조이다.가장 먼저 저장된 데이터가 가장 먼저 꺼내지는 형태이다. 주요 연산offer()큐의 맨 뒤에 요소  추가, 성공 시 true 반환. / 큐가 가득찬 상태라면 false 반환add()큐의 맨 뒤에 요소  추가..
[자료구조] 선형 구조(Linear Structure)와 비선형 구조(Non-Linear)
·
면접 대비/자료구조
선형 구조(Linear Structure)데이터 요소들을 순차적으로 나열시킨 형태이며, 데이터간에 순서가 있고 논리적으로 연결되어있는 구조이다.대표적으로 Array, LinkedList, Queue, Stack, Deque이 있다. 비선형 구조(Non-Linear) 데이터 요소가 일렬로 배치되지 않은 자료구조로 데이터가 계층적으로 구성된 경우 사용된다.대표적으로 Tree와 Graph가 있다.
[자료구조] Array(배열)와 LinkedList
·
면접 대비/자료구조
Array (배열)Array란 데이터를 순차적으로 저장하는 자료구조이다. 장점0부터 시작하는 Index를 이용하여 특정 요소에 접근 및 조작 가능하며, 순차적으로 접근하는 것이 아닌 우리가 원하는 인덱스에 바로 접근 가능하므로 시간복잡도 0(1)이 된다. 단점배열 중간에서 삽입이나 삭제가 이루어질 경우 모든 요소를 한칸 앞당기거나 밀어야하므로 시간복잡도 0(n) 소요되며, 배열의 크기는 고정적이기 때문에 배열의 크기를 예측하기 어려운 경우 메모리 낭비가 발생할 수 있다. LinkedList각 노드가 데이터와 포인터를 가지고 한줄로 연결되어 있는 방식으로 데이터를 저장하는 자료구조이다. 장점데이터 삽입 시 기존 노드의 연결을 끊고 새로운 노드에 연결시켜주면되고, 삭제 시에도 기존 노드의 연결을 끊고 다음 ..
[PCCE 기출문제] 1번 / 문자출력
·
프로그래머스
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명주어진 코드는 변수에 데이터를 저장하고 출력하는 코드입니다. 아래와 같이 출력되도록 빈칸을 채워 코드를 완성해 주세요. 출력 예시321Let's go! 문제 풀이import java.util.Scanner;public class Solution { public static void main(String[] args) { String message = "Let's go!"; System.out.println("3\n2\n1"); System.out.println(message); }}
프로그래머스 - 방문길이
·
프로그래머스
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명게임 캐릭터를 4가지 명령어를 통해 움직이려 합니다. 명령어는 다음과 같습니다.U: 위쪽으로 한 칸 가기D: 아래쪽으로 한 칸 가기R: 오른쪽으로 한 칸 가기L: 왼쪽으로 한 칸 가기캐릭터는 좌표평면의 (0, 0) 위치에서 시작합니다. 좌표평면의 경계는 왼쪽 위(-5, 5), 왼쪽 아래(-5, -5), 오른쪽 위(5, 5), 오른쪽 아래(5, -5)로 이루어져 있습니다.예를 들어, "ULURRDLLU"로 명령했다면1번 명령어부터 7번 명령어까지 다음과 같이 움직입니다.8번 명령어부터 9번 명령어까지 다음과 같이 움직입니다.이때, 우리는 게임 캐릭터..
내일배움캠프 Kotlin & Spring 3기 수료 후기
·
TIL
약 4개월간에 고군분투가 이틀전에 끝이 났다 !! 내일배움캠프 이전의 삶 & 선택한 계기 👇개발 공부가 처음은 아니였다. 2년전에도 학원을 다니며 공부와 팀 프로젝트를 진행하며 취업 활동도 했었지만 갑작스런 소집통지서가 날라오는 바람에 올해 7월26일 소집해제를 하게 됐다. 소집해제 날이 다가오자 ' 내가 다시 개발을 혼자 공부할 수 있을까 ? ' 라는 생각을 했고 답은 ' No ' 였다.  주변에 개발 공부를 하는 사람이 없었고 혼자 하게되면 나태해질게 뻔했다.그러던 중 부트캠프라는 것을 알게되었고 마침 내가 소집해제가 끝나고 나서 시작하면서 백엔드 커리큘럼을 진행하는내배캠을 선택하게 됐다. 내일배움캠프  장점 😄1. 사전캠프내배캠의 경우 9 to 9로 아침9시부터 저녁9시까지 진행되게 된다. 처음..
내배캠 - 최종 프로젝트 SpotOn
·
프로젝트
최종 프로젝트 - SpotOn거의 한달간 이루어진 마지막 팀 프로젝트가 어제 발표회를 마지막으로 마무리 됐다. 이번 협업에서 담당한 업무와 느낀점을 정리해보려고 한다.프로젝트 결과물 👇 GitHub - team4-SpotOn/spoton-backendContribute to team4-SpotOn/spoton-backend development by creating an account on GitHub.github.com 내 담당 업무 ♣️실시간 로깅 및 모니터링S3 이미지 업로드프로모션 이벤트 CRUDEC2 서버에 배포프로젝트를 진행하며 잘한 점 & 아쉬운점 🎃잘한점각 기능별로 이슈를 만들어서 작업 한 것기능 구현 사항들을 Phase 1,2,3 으로 나누어 개발 진행담당 파트에 대해 이틀전에 완료 ..