본문 바로가기

전체 글

(114)
String, StringBuffer, StringBuilder String, StringBuffer, StringBuilder 의 차이점 String은 불변의 특징을 가지고 있음. 불변이란 값이 변하지 않는 특성을 의미함. String은 값을 변화시킬 수 있는데 왜 불변일까? 에 대한 답변  - String의 값을 변화시키면 String이 참조하고 있는 메모리 내부의 값이 변화하는 것이 아님  - "Hello" 이라는 값을 가진 메모리를 참조하고 있는 String 객체에 + " World" 연산을 진행하면, "Hello World" 값이 들어있는 추가 메모리를 할당하여 그 메모리의 참조 값을 갖게 됨.  - 기존 "Hello" 값은 아무도 참조하지 않아 가비지 컬렉터에 의해 제거 StringBuffer, StringBuilder 는 메모리 공간을 생성하여 그 메모리..
Log 찍기 이 내용은 김영한님의 스프링 MVC 1편 중 Log 파트를 정리하는 것실무에서는 System.out.print() 대신에 Log를 사용한다고 함 스프링 부트를 사용하면 스프링 부트 로깅 라이브러리가 자동으로 포함되어 있음 spring-boot-starterlogging 일단 로그 테스트를 위한 클래스를 하나 만들어보자@RestControllerpublic class LogTestController { private final Logger log = LoggerFactory.getLogger(getClass()); // 혹은 LogTestController.getClass() 해도 됨 @GetMapping("/log-test") public String logTest() { S..
240429 MongoDB 해보기 NoSQL 이란 무엇인가https://f-lab.kr/insight/understanding-and-utilizing-nosql-databases NoSQL 데이터베이스의 이해와 활용NoSQL 데이터베이스의 등장 배경, 주요 유형, 활용 사례 및 미래 발전 방향에 대해 탐색합니다.f-lab.krhttps://www.oracle.com/kr/database/nosql/what-is-nosql/ 개발자가 NoSQL 데이터베이스를 선호하는 이유NoSQL 데이터베이스는 변화하는 요구사항에 빠르게 적응하기에 애자일 개발 방법론에 자연스럽게 부합합니다.www.oracle.com 테이블에 저장하던 기존 RDBMS와 달리 NoSQL은 json 형태로 바로 저장하여 데이터에 대한 제약조건을 최소화한 것MongoDB 해보..
프로그래머스 예산 문제 설명 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 없습니다. 그래서 최대한 많은 부서의 물품을 구매해 줄 수 있도록 하려고 합니다. 물품을 구매해 줄 때는 각 부서가 신청한 금액만큼을 모두 지원해 줘야 합니다. 예를 들어 1,000원을 신청한 부서에는 정확히 1,000원을 지원해야 하며, 1,000원보다 적은 금액을 지원해 줄 수는 없습니다. 부서별로 신청한 금액이 들어있는 배열 d와 예산 budget이 매개변수로 주어질 때, 최대 몇 개의 부서에 물품을 지원할 수 있는지 return 하도록 solution 함수를 완성해주세요. 제한사항 d는 부서별로 신청한 ..
프로그래머스 로그인 성공? 문제 설명 머쓱이는 프로그래머스에 로그인하려고 합니다. 머쓱이가 입력한 아이디와 패스워드가 담긴 배열 id_pw와 회원들의 정보가 담긴 2차원 배열 db가 주어질 때, 다음과 같이 로그인 성공, 실패에 따른 메시지를 return하도록 solution 함수를 완성해주세요. 아이디와 비밀번호가 모두 일치하는 회원정보가 있으면 "login"을 return합니다. 로그인이 실패했을 때 아이디가 일치하는 회원이 없다면 “fail”를, 아이디는 일치하지만 비밀번호가 일치하는 회원이 없다면 “wrong pw”를 return 합니다. 제한사항 회원들의 아이디는 문자열입니다. 회원들의 아이디는 알파벳 소문자와 숫자로만 이루어져 있습니다. 회원들의 패스워드는 숫자로 구성된 문자열입니다. 회원들의 비밀번호는 같을 수 있지만..
프로그래머스 3진법 뒤집기 문제 설명 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수입니다. 입출력 예 문제 풀이 모든 진법은 원하는 수로 값을 나누어 원하는 값 미만이 될 때까지 진행 남은 나머지를 역순으로 그리면 값이 나옴 List 와 Stack 을 사용하여 값 구하기 List 인 경우 값을 역순으로 출력하고, Stack은 pop 하면 역순으로 나오므로 해당 값에 맞게 수식 작성 import java.util.*; class Solution { public int solution(int n) { int answer = 0; int result = 0;..
프로그래머스 직사각형 넓이 구하기 문제 설명 2차원 좌표 평면에 변이 축과 평행한 직사각형이 있습니다. 직사각형 네 꼭짓점의 좌표 [[x1, y1], [x2, y2], [x3, y3], [x4, y4]]가 담겨있는 배열 dots가 매개변수로 주어질 때, 직사각형의 넓이를 return 하도록 solution 함수를 완성해보세요. 제한사항 dots의 길이 = 4 dots의 원소의 길이 = 2 -256 < dots[i]의 원소 < 256 잘못된 입력은 주어지지 않습니다. 입출력 예 문제 풀이 직사각형 넓이는 가로 * 세로 공식으로 구함 (x 최대값 - x 최소값) * (y 최대값 - y 최소값) 하면 직사각형의 넓이가 나옴 최대는 양수, 최소가 음수일 경우 1 - -1 인 경우 1 + 1 이 되어 2 라는 넓이가 나옴 설명에서는 꼭짓점이 1,..
프로그래머스 캐릭터의 좌표 문제 설명 머쓱이는 RPG게임을 하고 있습니다. 게임에는 up, down, left, right 방향키가 있으며 각 키를 누르면 위, 아래, 왼쪽, 오른쪽으로 한 칸씩 이동합니다. 예를 들어 [0,0]에서 up을 누른다면 캐릭터의 좌표는 [0, 1], down을 누른다면 [0, -1], left를 누른다면 [-1, 0], right를 누른다면 [1, 0]입니다. 머쓱이가 입력한 방향키의 배열 keyinput와 맵의 크기 board이 매개변수로 주어집니다. 캐릭터는 항상 [0,0]에서 시작할 때 키 입력이 모두 끝난 뒤에 캐릭터의 좌표 [x, y]를 return하도록 solution 함수를 완성해주세요. [0, 0]은 board의 정 중앙에 위치합니다. 예를 들어 board의 가로 크기가 9라면 캐릭터는 ..