[BaekJoon][문자열][Java] 2908: 상수
·
코딩테스트/Java
상수는 수를 다른 사람과 다르게 거꾸로 읽는다. 예를 들어, 734와 893을 칠판에 적었다면, 상수는 이 수를 437과 398로 읽는다. 따라서, 상수는 두 수중 큰 수인 437을 큰 수라고 말할 것이다.두 수가 주어졌을 때, 상수의 대답을 출력하는 프로그램을 작성하시오. 첫째 줄에 상근이가 칠판에 적은 두 수 A와 B가 주어진다. 두 수는 같지 않은 세 자리 수이며, 0이 포함되어 있지 않다. 첫째 줄에 상수의 대답을 출력한다. %,*연산을 통해 숫자를 뒤집어서 재배열하기 1. 상근이가 칠판에 적은 수 A, B 입력 받기  2. 각각의 수를 거꾸로 배열하기  3. 거꾸로 배열한 수의 크기를 비교하여 큰 수 출력하기 package BOJ.string;import java.io.BufferedReader..
[BaekJoon][자료 구조][Queue][Java] 큐 구현하기
·
코딩테스트/Java
Queue는 컴퓨터의 기본적인 자료 구조의 한 가지로, 먼저 집어 넣은 데이터가 먼저 나오는 FIFO (First In First Out)구조로 저장하는 형식을 말한다.주어진 N(2 2 // 테스트 케이스 수5 // 데이터 크기1 2 3 4 55 4 2 3 1 #1 1 2 3 4 5#2 5 4 2 3 1  front와 back으로 구성된 큐에 값을 집어넣는 enqueue를 구현할 때배열 큐는 고정된 크기이기 때문에 단순히 queue[back++] = value 를 해버리면배열의 뒤쪽에는 더 이상 요소를 추가할 공간이 없으나 배열의 앞쪽에는 빈 공간이 남아있게 됨. 따라서 순환 큐 개념을 사용해야 함. 순환 큐는 모듈로 연산을 사용해 구현 가능.다만, 순환 큐는 모든 인덱스를 다 사용하지는 않고 back ..
[BaekJoon][자료 구조][Stack][Java] 2563: 색종이
·
코딩테스트/Java
1. 핵심 아이디어 1X1의 정사각형으로 이루어진 100X100 흰색 도화지를 boolean형 2차원 배열로 가정할 때, 검은 영역일 경우 true 처리 2. 풀이package BOJ.dataStructure.stack;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class BOJ2563 { // 도화지 private static boolean[][] arr; // 색종이 개수 private static int n; // 검은 영역의 넓이 private static int total; /** * 검은 영역의 갯수를 ..
[BaekJoon][자료 구조][Stack][Java] 10799 : 쇠막대기
·
코딩테스트/Java
1. 주요 아이디어 닫는 괄호가 나올 시 직전 괄호가 여는 것인지, 닫는 것인지 확인하여 막대기 조각의 갯수를 구하자 1.1. 여는 괄호가 나올 시       push() 1.2. 닫는 괄호가 나올 시        pop()        단, 이때 직전 괄호가1) 여는 괄호라면 이는 곧 레이저를 지나가는 막대기의 수(스택의 사이즈)만큼의 조각이 생기는                                         것 이기에 result + 스택의 사이즈.2) 닫는 괄호라면 한 개의 막대기가 끝나는 지점이기에 result + 1.2. 풀이 package BOJ.dataStructure.stack;import java.io.BufferedReader;import java.io.IOException;..
[BaekJoon][자료 구조][Stack][Java] 1935 : 후위 표기식2
·
코딩테스트/Java
인간이 사용하는 연산식은 피연산자 사이에 연산자가 위치하는 "중위 표기식"이다. 예컨대, 1 + 1 = 2 와 같다. 그러나 컴퓨터는 중위 표기식을 맞이하면, 1 + 에서 무엇을 더해야할 지 알 수 없기 때문에, 연산자가 피연산자들의 뒤에 있는, "후위 표기식"을 통해서 연산을 실시한다.  따라서 컴퓨터가 연산을 하기 위해서는 1. 중위 표기식을 입력 받고 2. 중위 표기식을 후위 표기식으로 변환한 뒤 3. 연산 결과를 출력하는 방식의 프로세스를 거치게 된다. 본 문제는 상기한 프로세스를 구현하는 문제로, 연산자가 나올 때 비로소 이전에 저장한 피연산자들을 꺼내 연산을 해야하기 때문에 Stack을 사용한다.package BOJ.dataStructure.stack;import java.io.Buffered..
[BaekJoon][자료 구조][Stack][Java] 10773 : 제로
·
코딩테스트/Java
package BOJ.dataStructure.stack;import java.io.IOException;import java.util.Scanner;import java.util.Stack;public class BOJ10773 { public static void main(String[] args) throws NumberFormatException, IOException { Scanner sc = new Scanner(System.in); // 정수 k int k = sc.nextInt(); // stack 생성 // 0이 나올 시 가장 최근에 쓴 수를 지워야 한다는 점에서 스택 사용 Stack stack = new Stack(); // 최종적으로 적어 낸 수를 담기..
[BaekJoon][자료구조][Java] Stack 구현하기
·
코딩테스트/Java
Stack은 한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형 구조(LIFO - Last In First Out)로 데이터를 저장하는 형식을 말한다. 주어진 N(2 입력251 2 3 4 55 4 2 3 1 출력#1 5 4 3 2 1#2 1 3 2 4 5 package BOJ;import java.io.*;import java.util.StringTokenizer;public class MyStack{ private static int[] stack; private static int pointer; // 스택 초기화 public static void init(int size){ stack = new int[size]; pointer = 0; } ..
서비스 배포하기: 3. Jenkins CI/CD 파이프 라인 구축(1) - 젠킨스 설치
·
프로젝트 GORANG 개발 기록
0. 들어가면서앞선 과정을 통해 우리는 DNS 를 구축하여 사이트의 접근성을 높였으며 HTTPS 프로토콜을 사용하여 사이트의 보안성을 확보하였습니다.  상기한 작업을 통해 기초적인 배포 작업은 완수했다고 생각합니다. 그러나 소프트웨어 개발 생명주기(SDLC)의 대부분은 유지보수에 있는 것처럼, 유지보수적 측면에서의 편의성을 위해 추가적으로 해줘야할 작업이 있습니다. 그것은 바로 "CI/CD 파이프라인" 구축입니다. CI/CD에 대해서 살펴보기 전에, 현재 우리는 애플리케이션에서 버그 발생 시 로컬에서 디버그 실시 후 수동으로 명령어를 입력해 배포하거나 혹은 FileZila 와 같은 오픈소스 FTP 클라이언트를 사용해 직접 배포해줘야합니다.  물론 그 과정에서 일일이 chown, chmod 등을 통해 권한..