Lv.1 신고 결과 받기
신고 결과 받기문제신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다.
각 유저는 한 번에 한 명의 유저를 신고할 수 있습니다.
신고 횟수에 제한은 없습니다. 서로 다른 유저를 계속해서 신고할 수 있습니다.
한 유저를 여러 번 신고할 수도 있지만, 동일한 유저에 대한 신고 횟수는 1회로 처리됩니다.
k번 이상 신고된 유저는 게시판 이용이 정지되며, 해당 유저를 신고한 모든 유저에게 정지 사실을 메일로 발송합니다.
유저가 신고한 모든 내용을 취합하여 마지막에 한꺼번에 게시판 이용 정지를 시키면서 정지 메일을 발송합니다.
예시다음은 전체 유저 목록이 [“muzi”, “frodo”, “apeach”, “neo”]이고, k = 2(즉, 2번 이상 신고당하면 이용 정지)인 경우의 예시입니다.
유저 ID
신고한 ID
설명
“muzi”
“frodo”
“muzi”가 “frodo”를 ...
시스템인프라??
모르는 용어 정리시스템 인프라 구성에 대한 이해( H/W, M/W, S/W, N/W )참고URL
H/W서버 장비 본체나 데이터를 저장하기 위한 스토리지, 전원 장치
M/W서버 상에서 서버가 특정 역할을 하도록 기능을 제공하는 소프트웨어
S/W하드웨어를 효율적으로 이용하기 위한 운영체제(OS) 워드프로세서 심지어 바이러스 트로이 목마등과 같이 컴퓨터를 효율적으로 사용 하는 기술 혹은 집합체를 소프트웨어(software) 라고 한다
시스템 소프트웨어(System Software)컴퓨터를 동작시키는 일을 하는 운영체제(OS) 와 부트로더 등 하드웨어에 접근을 하여 운영을 하기위해 만들어진 것을 시스템 소프트웨어라고 한다.
응용 소프트웨어(Application Software)워드프로세서 , 웹브라우져등 OS위에 사용자가 사용하게 되는 프로그램을 응용 소프트웨어 라고한다 이를 어플리케이션이라고 도 부르며 간단하게 줄여 App이라고도 칭한다
F/W펌웨어(firmware)는 컴퓨팅과 공 ...
Lv.1 로또의 최고 순위와 최저 순위
로또의 최고 순위와 최저 순위문제로또 6/45(이하 ‘로또’로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다.
순위
당첨 내용
1
6개 번호가 모두 일치
2
5개 번호가 일치
3
4개 번호가 일치
4
3개 번호가 일치
5
2개 번호가 일치
6(낙첨)
그 외
로또를 구매한 민우는 당첨 번호 발표일을 학수고대하고 있었습니다. 하지만, 민우의 동생이 로또에 낙서를 하여, 일부 번호를 알아볼 수 없게 되었습니다. 당첨 번호 발표 후, 민우는 자신이 구매했던 로또로 당첨이 가능했던 최고 순위와 최저 순위를 알아보고 싶어 졌습니다.알아볼 수 없는 번호를 0으로 표기하기로 하고, 민우가 구매한 로또 번호 6개가 44, 1, 0, 0, 31 25라고 가정해보겠습니다. 당첨 번호 6개가 31, 10, 45, 1, 6, 19라면, 당첨 가능한 최고 순위와 최저 순위의 한 예는 아래와 같습니다.
예 ...
가장 큰 수
가장 큰 수정렬
0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요.
예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다.
0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요.
제한사항
numbers의 길이는 1 이상 100,000 이하입니다.
numbers의 원소는 0 이상 1,000 이하입니다.
정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다.
입출력 예
1차 답안1234567891011121314151617181920import java.util.*;import java.util.Collections;class Solution { public Stri ...
K번째수
K번째수정렬
배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다.
예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면
array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다.1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다.2에서 나온 배열의 3번째 숫자는 5입니다.배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요.
제한사항
array의 길이는 1 이상 100 이하입니다.
array의 각 원소는 1 이상 100 이하입니다.
commands의 길이는 1 이상 50 이하입니다.
commands의 각 원소는 길이가 3입니다.
입출력 예
123456789101 ...
배포할 예비프로젝트 준비하기
IntelliJ + SpringBoot + Maven + Jpa 프로젝트
배포시스템 테스트를 위한 간단한 게시판 화면을 만들 계획입니다.IntelliJ Tool을 사용하고 SpringBoot 기반의 Maven을 사용하고 DB는 JPA를 이용한 게시판 프로젝트를 구성할 계획입니다.
침고URL
프로젝트 생성하기1. New Project 클릭 후 아래 사진과 같이 설정
2. NEXT 버튼 클릭 후 세부 라이브러리 설정
Lombook : Java 라이브러리로 반복되는 getter, setter, toString 등의 메서드 작성 코드를 줄여주는 코드 다이어트 라이브러리입니다
Spring Web : 기본 스프링 Framwork를 담고있는 라이브러리입니다.
Spring Data JPA : JPA 관련 라이브러리입니다.
3. 기본 폴더 구조
config : 환경설정 파일이 담겨진 패키지
controller : 컨트롤러 파일이 담겨진 패키지
doamain : 모델설정관련 파일이 담겨진 패 ...
Jenkins에서 GitLab프로젝트 배포
Jenkins에서 GitLab프로젝트 배포GIT/JENKINS/NEXUS 연동 DOCKER-COMPOSE123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566version: '3.5'services: web: image: 'gitlab/gitlab-ce:latest' restart: always hostname: 'localhost' container_name: gitlab environment: GITLAB_OMNIBUS_CONFIG: | external_url 'http://127.0.0.1' gitlab_rails['gitlab_shell_ssh_port'] = 5 ...
Ubuntu에서 Nexus 사용하기
Nexus 설치Step1. Ubuntu 서버에 Nexus 설정하기참고URL
Nexus3 필요 라이브러리 설치하기123456789# java 설치$ sudo apt-get update $ sudo apt install openjdk-8-jre-headless -y# Nexus3 설치$ cd /opt $ sudo wget https://download.sonatype.com/nexus/3/latest-unix.tar.gz$ sudo tar -zxvf latest-unix.tar.gz$ sudo mv /opt/nexus-[version] /opt/nexus
권한 그룹 생성123456789101112$ sudo adduser nexus$ sudo visudo-- nexus ALL=(ALL) NOPASSWD: ALL //입력# 권한 부여$ sudo chown -R nexus:nexus /opt/nexus$ sudo chown -R nexus:nexus /opt/sonatype-work ...
Ubuntu에서 Jenkins 사용하기
Jenkins 설치Step1. Ubuntu 서버에 Jenkins 설정하기Jenkins 필요 라이브러리 설치하기1234567891011121314# 저장소 키 다운로드$ wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -# 서버의 sources.list에 Jenkins 패키지 저장소를 추가$ sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > \/etc/apt/sources.list.d/jenkins.list'# 패키지 인덱스 정보 업데이트$ sudo apt-get update# Jenkins 설치하기$ sudo apt-get install jenkins# Java JDK 8 설치$ sudo apt-get install openjdk-8-jdk
Jenkins 서비스 port 변경하기123456# 설정 정 ...
Ubuntu에서 GitLab 사용하기
GitLab 설치Step1. Ubuntu 서버에 GitLab 설정하기12345678910111213141516# 필수라이브러리 설치$ sudo apt-get update$ sudo apt-get install -y curl openssh-server ca-certificates $ sudo apt-get install curl openssh-server ca-certificates postfix # Gitlab 패키지 레퍼지토리를 추가한 후 설치$ curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash # 환경 변수 설정과 함께 gitlab-ce 를 설치$ sudo EXTERNAL_URL="http://127.0.0.1:8085/" apt-get install gitlab-ce # ip/port 설정 변경$ sudo vi /etc/gitlab/gi ...