본문 바로가기

728x90
반응형

전체 글

(78)
[JAVA] 정규표현식 정규 표현식 주어진 문자열에서 발견할 수 있는 글자 패턴을 표현한 식 정규 표현식 표현법 표현식 의미 ^X 문자 선택을 표현하며 x 와 y 중에 하나를 의미한다. x$ 문자열의 종료를 표현하며 x 문자로 종료됨을 의미한다. .x 임의의 한 문자의 자리수를 표현하며 문자열이 x로 끝난다는 것을 의미한다 x+ 반복을 표현하며 x 문자가 한번 이상 반복됨을 의미한다 x? 존재여부를 표현하며 x 문자가 존재할 수도, 존재하지 않을 수도 있음을 의미한다 x* 반복여부를 표현하며 x 문자가 0번 또는 그 이상 반복됨을 의미한다 x` `y (x) 그룹을 표현하며 x를 그룹으로 처리함을 의미한다 (x)(y) 그룹들의 집합을 표현하며 앞에서부터 순서대로 번호를 부여하여 관리하고 x,y는 각 그룹의 데이터로 관리된다 (x..
[Algorithm] 가짜 영수증 찾기 가짜 영수증 찾기 누군가가 가짜 영수증을 제출하고 있습니다. 김토스는 재무팀을 돕기 위해 가짜 영수증을 찾아내는 시스템을 만들고 싶습니다. 가짜 영수증을 찾아내는 방법은 간단합니다. 가짜 영수증에는 금액이 옳지 않게 적혀있습니다. 옳은 금액은 다음의 조건을 모두 만족합니다. 옳은 금액은 0~9 사이의 숫자 또는 구분자(`,`)로만 구성되어야 한다. 예를 들면 `1만원`이나 `10,000원`, `+300`은 0~9 사이의 숫자 또는 구분자(`,`)가 아닌 문자가 포함되어 있으므로 옳지 않은 금액이다. 금액이 0원인 경우를 제외하고는 가장 왼쪽 숫자가 0일 수 없다. 예를 들면, 0은 옳은 금액이지만, 0100은 옳지 않다. 금액은 세자리 구분자(,)를 포함하고 있거나, 또는 전혀 포함하고 있지 않다. 예를..
[Algorithm] 과일 게임 과일 게임 무더운 여름 김토스는 친구들과 계곡으로 여행을 가게 되었습니다. 계곡을 눈앞에 두고 게임을 놓칠 수 없었던 김토스는 게임을 제안하게 됩니다. N개의 과일이 있을 때, 연속된 K개의 과일을 골라 K개 중 가장 무거운 과일의 무게를 점수로 해서 가장 높은 점수가 나온 사람이 계곡에 입수하는 게임입니다. 김토스는 게임을 하기 전 N개의 과일의 무게가 주어질 때, 나올 수 있는 모든 점수를 구하고 싶습니다. 입력 예시 `solution(fruitWeights, k)` 함수의 인자는 아래와 같이 전달됩니다. N개의 과일의 무게 `W[i]`를 담고 있는 배열 : `fruitWeights` (`1
[Algorithm] 계단을 오르는 방법 계단을 오르는 방법 김토스가 N개의 계단을 오르려고 합니다. 김토스는 한번에 1~3개의 계단을 이동할 수 있습니다. N개의 계단을 올라가는 방법이 총 몇 가지가 있는지 계산하는 함수를 구현해주세요. 입력 예시 solution(numOfStairs) 함수의 인자는 아래와 같이 전달됩니다. 계단의 수 N : numOfStairs (1 경우의 수 2 계단 3 -> 경우의 수 4 계단 4 -> 경우의 수 7 계단 5 -> 경우의 수 13 계단 6 -> 경우의 수 24 이렇게 올라갈 수 있는 경우의 수를 나열해보니 규칙이 보이네요~ 앞선 3개의 경우의 수를 합친 값이 해당 계단을 올라갈 수 있는 경우의 수인 피보나치 수열로 되어 있는 것을 알 수 있습니다. 이제 규칙을 알았으니 문제를 풀도록 하겠습니다~ impo..
[Spring] Spring Validator BindingReuslt/Errors 사용 API를 개발하면서 request body로 넘어온 도메인 객체 정보가 유효한 정보인지에 대한 validation check하는 로직을 개발하게 되었다. validation check를 하기 위해 Spring Framework Validator API를 사용하였다. 아래와 같이 API를 통해 요청을 할 경우, 넘어온 파라미터 정보가 유효 한지에 대한 유효성 검사를 했다. (회사 코드를 첨부할 수 없어 임의로 작성한 예시이다..) @RequestMapping(value = "/{path}/user", method = RequestMethod.POST) @ResponseStatus(value = HttpStatus.ACCEPTED) public UserInfo createUser(@PathVariable S..
[가상화] 가상화 기술 이해 가상화 하나의 하드웨어(물리 자원)에 하나의 소프트웨어 서버만 구동을 하면 아깝고 비효율적이므로 하나의 하드웨어에 여러개의 소프트웨어 서버를 구동하는 것 여러개의 소프트웨어 서버에 각각 운영체제를 설치하고 소프트웨어를 여러개를 돌려 하나의 서버에 서비스를 여러개 돌리자는 것이 가상화의 핵심!! 가상화 분야 데이터 가상화 다수의 이기종 데이터를 단일한 소스로 접근 가능하다 클라우드 컴퓨팅은 범위 뿐만 아니라 수많은 디바이스들로 접속할 수 있다. 네트워크 기능 가상화 NFV (Network Functions Virtulization) 서버 가상화 하이퍼바이저 (Hypervisor) : 서버 자체를 가상화 하는 것 운영체제 가상화 컨테이너 (Container) 가상화 기술 가상화 기술 발전 이전 기본적으로는 ..
[Algorithm] 백준 알고리즘 - 1158번 : 요세푸스 문제 문제 요세푸스 문제는 다음과 같다. 1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤ N)가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. 예를 들어 (7, 3)-요세푸스 순열은 이다. N과 K가 주어지면 (N, K)-요세푸스 순열을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) 출력 예제와 같이 요세푸스 순열을 출력한다. 예제 입력 1 7 3 예제 출력 1 문제 이해 N : 7, K ..
[Study] 2021-07-27 스터디 회고 나와 친구 모두 최근 바빠진 회사 일로 계속된 야근과 코로나로 인해 계속 미루고 미루던 스터디를 약 한달만에 했다. 스터디가 미뤄진 한달 동안 알고리즘 뿐만 아니라 토이 프로젝트, 개인 공부도 자연스럽게 해이해졌다. 이렇게 가다가는 결국 그동안 해왔던 여느 스터디와 다르지 않게 결국 끝나겠다고 생각되어 스터디 방법을 바꾸기로 했다. 기존에는 알고리즘을 각자 일주일에 두 문제씩 풀고, 스터디날 서로 코드 피드백 해주고 2주간 각자 토이 프로젝트를 진행 후 해당 코드 리뷰하는 식으로 했었다. 하지만 서로 일이 바빠지면서 (핑계일지 모르지만 정말 바빴다,,,,새벽 네시에 퇴근할 정도로ㅠ) 알고리즘도 토이 프로젝트도 제대로 진행되는 것이 없었다. 점점 토이프로젝트와는 멀어져갔다...ㅎㅎ 알고리즘이라도 꾸준히 풀..

728x90
반응형