Programming 85

자바 개념정리하기 - JVM, Memory, OOP

시작하며 뜬금없지만. 혼자 블로그에 글로 쓰면서 자바, 스프링의 이론이나 개념 혹은 단어의 뜻을 한번 적으면서 정리하고자 합니다.. 워낙 프로그래밍에서 쓰이는 단어들이 낯설고 익숙하지 않거나, 자주쓰이지 않지만 알고있어야하는 단어와 뜻들이 있는거같습니다. 애매하게 알고있거나, 대략 이런뜻이겠거니, 혹은 공부했지만 까먹었던걸 한번 복기하자는 의미에서 포스팅을 하게 되었습니다. JVM - Java Virtual Machine 자바 가상머신, 말 그대로 가상으로 존재하는 소프트웨어이다. 자바언어는 os에 독립적이고자 JVM을 활용해, 자바코드를 바이트 코드로 변환하고 각 os에 맞게 전달한다. 이처럼 JVM이 동작하는 몇가지 특징이나 기능들을 살펴보자면, 자바 인터프리터 (interpreter) : 자바 컴파..

Programming/JAVA 2021.12.14

프로그래머스 - 음양 더하기 (JAVA)

문제 설명 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요. 제한사항 absolutes의 길이는 1 이상 1,000 이하입니다. absolutes의 모든 수는 각각 1 이상 1,000 이하입니다. signs의 길이는 absolutes의 길이와 같습니다. signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다. 입출력 예absolutessignsresult [4,7,12] [true,false,true] 9 [1,2,3] [false,false,t..

프로그래머스 - 크레인 인형뽑기 게임 (JAVA)

문제 설명 게임개발자인 "죠르디"는 크레인 인형뽑기 기계를 모바일 게임으로 만들려고 합니다. "죠르디"는 게임의 재미를 높이기 위해 화면 구성과 규칙을 다음과 같이 게임 로직에 반영하려고 합니다. 게임 화면은 "1 x 1" 크기의 칸들로 이루어진 "N x N" 크기의 정사각 격자이며 위쪽에는 크레인이 있고 오른쪽에는 바구니가 있습니다. (위 그림은 "5 x 5" 크기의 예시입니다). 각 격자 칸에는 다양한 인형이 들어 있으며 인형이 없는 칸은 빈칸입니다. 모든 인형은 "1 x 1" 크기의 격자 한 칸을 차지하며 격자의 가장 아래 칸부터 차곡차곡 쌓여 있습니다. 게임 사용자는 크레인을 좌우로 움직여서 멈춘 위치에서 가장 위에 있는 인형을 집어 올릴 수 있습니다. 집어 올린 인형은 바구니에 쌓이게 되는 데,..

프로그래머스 - 키패드 누르기 (JAVA)

링크 https://programmers.co.kr/learn/courses/30/lessons/67256 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 문제 설명 스마트폰 전화 키패드의 각 칸에 다음과 같이 숫자들이 적혀 있습니다. 이 전화 키패드에서 왼손과 오른손의 엄지손가락만을 이용해서 숫자만을 입력하려고 합니다. 맨 처음 왼손 엄지손가락은 * 키패드에 오른손 엄지손가락은 # 키패드 위치에서 ..

스프링부트 기초 - 4. 게시판 수정,삭제

이전글 https://goodthinking.tistory.com/43 스프링부트 기초 - 3. 게시판 만들기 이전글 https://goodthinking.tistory.com/42 스프링부트 기초 - 2. CRUD 게시판 만들어보기 이전글 https://goodthinking.tistory.com/41 스프링부트 기초 - 1. 스프링부트 개요 & 프로젝트 설치 및 설정 개요 안.. goodthinking.tistory.com 이전글에서 CRUD 에서 Create , Read 를 구현했습니다. 수정 Update 먼저 수정하는 페이지를 만들어야겠죠.. resouces >templates >articles >edit.mustache 를 생성하겠습니다 코드로 첨부하니 전부 검정색으로 출력되서 그냥 제코드를 캡..

Programming/Spring 2021.12.07

스프링부트 기초 - 3. 게시판 만들기, 조회

이전글 https://goodthinking.tistory.com/42 스프링부트 기초 - 2. CRUD 게시판 만들어보기 이전글 https://goodthinking.tistory.com/41 스프링부트 기초 - 1. 스프링부트 개요 & 프로젝트 설치 및 설정 개요 안녕하세요. 이번에 스프링부트를 공부하면서 블로그에 정리하면 좋을것같아 찾아왔습니 goodthinking.tistory.com 이전글에서는 게시판만들기에 앞서 기본 main 페이지를 생성하고 컨트롤러를 등록했습니다. 이제 본격적인 게시판생성을 해보겠습니다. 그전에 header 를 먼저 정리하겠습니다. 필요한 부분만 남기고 일단 지워둘게요. 그리고 Main 페이지의 내용을 table 로 처리합니다. {{>layouts/header}} 번호 제..

Programming/Spring 2021.12.07

스프링부트 기초 - 2. 게시판 시작해보기

이전글 https://goodthinking.tistory.com/41 스프링부트 기초 - 1. 스프링부트 개요 & 프로젝트 설치 및 설정 개요 안녕하세요. 이번에 스프링부트를 공부하면서 블로그에 정리하면 좋을것같아 찾아왔습니다. 기존에 공부할땐 노션에 정리했는데 노션이 좋긴하지만, 블로그랑 성격이 조금 달라서 포트폴 goodthinking.tistory.com 시작 이전에는 설치와 설정을 간단하게 했습니다. 이번 포스팅부터는 간단한 게시판을 통해 CRUD를 구현해보겠습니다. 먼저 Spring Boot 는 기본적으로 톰캣 서버가 내장되어있어 따로 설정이 없어도 실행이 됩니다. 프로젝트를 실행 후 src >main >resources >static 폴더에다가 index.html 을 생성합니다. 웰컴 페이지..

Programming/Spring 2021.12.02

스프링부트 기초 - 1. 스프링부트 개요 & 프로젝트 설치 및 설정

개요 안녕하세요. 이번에 스프링부트를 공부하면서 블로그에 정리하면 좋을것같아 찾아왔습니다. 기존에 공부할땐 노션에 정리했는데 노션이 좋긴하지만, 블로그랑 성격이 조금 달라서 포트폴리오처럼 남기고, 다른사람에게 피드백? 이나 보여줄 수 있는 부분이 블로그가 더 클것같아서 블로그로 정리해보도록 하겠습니다. 설치 먼저 스프링부트를 설치 하기전, IDE를 정해야하는데요 기존의 프로젝트에서 저는 Eclipse, STS 를 활용했지만, 이번에는 IntelliJ 무료 버전인 CE버전을 활용하여 해보겠습니다. IDE의 설치는 인텔리제이의 회사 젯브레인 홈페이지에서 가능하며, 저는 MAC 환경이기에 링크가 mac 입니다. https://www.jetbrains.com/ko-kr/idea/download/#section=..

Programming/Spring 2021.12.02

프로그래머스 Lv1 - 숫자 문자열과 영단어 ( JAVA )

문제 설명 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다. 1478 → "one4seveneight" 234567 → "23four5six7" 10203 → "1zerotwozero3" 이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요. 참고로 각 숫자에 대응되는 영단어는 다음 표와 같습니다. 숫자영단어 0 zero 1 one 2 two 3 three 4 four 5 five 6 six 7 s..

프로그래머스 Lv1 - 신규 아이디 추천 ( JAVA )

문제 설명 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 가입하는 유저들이 카카오 아이디 규칙에 맞지 않는 아이디를 입력했을 때, 입력된 아이디와 유사하면서 규칙에 맞는 아이디를 추천해주는 프로그램을 개발하는 것입니다. 다음은 카카오 아이디의 규칙입니다. 아이디의 길이는 3자 이상 15자 이하여야 합니다. 아이디는 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.) 문자만 사용할 수 있습니다. 단, 마침표(.)는 처음과 끝에 사용할 수 없으며 또한 연속으로 사용할 수 없습니다. "네오"는 다음과 같이 7단계의 순차적인 처리 과정을 통해 신규 유저가 입력한 아이..