[Git] Repository 미러링 (저장소 커밋 포함 복사)
·
DevOps/Git
🪞 미러링A 저장소에서 작업한 내용을 B 저장소로 옮기고 싶을 때가 있다.깃랩 저장소에서 작업한 내용을 깃허브로 이전해야 한다든가.. 그 반대라든가.. 등등단순히 파일을 옮겨서 B 저장소에 옮기면 된다고 생각할 수도 있지만, 그렇게 하면 기존의 A 저장소에서 작업했던 커밋 내역들은 옮겨지지 않는다.그럴 때 "미러링"을 이용하면 A 저장소의 브랜치나 커밋 내역도 함께 복사된다. 🔍 미러링 과정A  저장소 -> B 저장소로 복사하는 상황이다. 1. B 리포지토리를 만든다. 2. A 리포지토리의 Bare Repository를 생성한다.git clone --mirror Bare Repository는 코드 파일(워크트리)이 없고, Git 데이터만 포함한다.원본 저장소의 모든 브랜치와 태그, Git 설정을 포함..
[Python] 백준/BOJ 1874번: 스택 수열 (Silver 2)
·
Algorithm/백준 (BOJ)
💻 Problem문제 보러 가기 1부터 n까지의 수를 스택에 넣었다가 뽑아 늘어놓음으로써, 하나의 수열을 만들 수 있다. 이때, 스택에 push 하는 순서는 반드시 오름차순을 지키도록 한다고 하자. 임의의 수열이 주어졌을 때 스택을 이용해 그 수열을 만들 수 있는지 없는지, 있다면 어떤 순서로 push와 pop 연산을 수행해야 하는지를 알아낼 수 있다. 이를 계산하는 프로그램을 작성하라.  첫 줄에 n (1 ≤ n ≤ 100,000)이 주어진다. 둘째 줄부터 n개의 줄에는 수열을 이루는 1 이상 n이하의 정수가 하나씩 순서대로 주어진다. 물론 같은 정수가 두 번 나오는 일은 없다.   입력된 수열을 만들기 위해 필요한 연산을 한 줄에 한 개씩 출력한다. push 연산은 +로, pop 연산은 -로 표현하..
[Python] 백준/BOJ 3077번: 임진왜란 (Silver 3)
·
Algorithm/백준 (BOJ)
💻 Problem문제 보러 가기 선생님이 다시 사용한 채점 방법은 두 해전을 골라 순서가 일치하면 점수를 주는 방법이다. 즉, 선생님은 학생의 답 중에 N(N-1)/2개의 쌍을 모두 고른 뒤, 올바른 순서로 적혀 있으면 1점을 주려고 한다. 최종 점수는 획득점수/(N(N-1)/2)가 된다.문제의 정답과 현우가 작성한 답안이 주어졌을 때, 현우의 점수를 구하는 프로그램을 작성하시오. 💡 Approach처음엔 시간을 제대로 보지 않고 그냥 브루트포스로 풀면 되지 않을까 싶었다.import sysinput = sys.stdin.readlinedef grade(): global score # 학생의 답 중에 2개를 고른다 for i in range(n): for j in ..
[Java] 클래스와 데이터
·
Language/Java
☕ 클래스가 필요한 이유🍪 배열 사용의 한계String studentNames[] = { "학생1", "학생2", "학생3" }; int studentAges[] = { 15, 16, 17 }; int studentGrades[] = { 90, 80, 100 };한 학생의 데이터가 studentNames[], studentAges[], studentGrades[] 3개의 배열로 나누어져 있다.따라서 데이터를 변경할 때 매우 조심해서 작업해야 한다.사람이 관리하기 좋은 방식이 아니다. (→ 사람이 관리하기 좋은 방식은 학생이라는 개념을 하나로 묶는 것) ☕ 클래스 도입🍪 학생 클래스 정의public class Student { String name; int age; int grade;} 클래..
[Java] 자바 메서드
·
Language/Java
☕ 메서드 선언(Method Declaration)public static int add(int a, int b) 메서드의 선언 부분(메서드 이름, 반환 타입, 매개변수(파라미터) 목록 포함)메서드 선언 정보를 통해 다른 곳에서 해당 메서드 호출 가능public staticpublic: 다른 클래스에서 호출할 수 있는 메서드 (접근 제어)static: 객체를 생성하지 않고 호출할 수 있는 정적 메서드int add(int a, int b)int: 메서드 실행 결과를 반환할 때 사용할 반호나 타입 지정add: 메서드 이름(int a, int b): 파라미터(매개변수), 메서드를 호출할 때 전달하는 입력 값 정의, 해당 메서드 안에서만 사용되는 변수들 ☕ 메서드 호출호출: call("hello", 20)메서드..
[Java] Scanner로 입력 받기
·
Language/Java
☕ Scanner 클래스 사용package scanner;import java.util.Scanner;public class Scanner1 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("문자열을 입력하세요:"); String str = scanner.nextLine(); System.out.print("정수를 입력하세요:"); int intValue = scanner.nextInt(); System.out.print("실수를 입력하세요:"); double doubleValue..
[Java] 자바 연산자
·
Language/Java
☕ 자주 사용하는 연산자산술 연산자: + , - , * , / , % (나머지)증가 및 감소 연산자: ++ , --비교 연산자: == , != , > , = , 논리 연산자: && (AND), || (OR), ! (NOT)대입 연산자: = , += , -= , *= , /= , %= ☕ 연산자 우선순위괄호 ()단항 연산자 (예: ++ , -- , ! , ~ , new , (type) )산술 연산자 ( * , / , % 우선, 그다음에 + , - )Shift 연산자 ( > , >>> )비교 연산자 ( , >= , instanceof )등식 연산자 ( == , != )비트 연산자 ( & , ^ , | )논리 연산자 ( && , || )삼항 연산자 ( ? : )10. 대입 연산자 ( = , += , -= ,..
[Java] 자바 변수
·
Language/Java
🍪 패키지(package)자바 파일을 구분하기 위한 폴더 (추후 자세히 공부)variable라는 패키지를 만들었다면, 해당 패키지에 들어가는 자바 파일 첫 줄에 package variable;와 같이 소속된 패키지를 선언해주어야 함자바 파일이 위치하는 패키지와 package variable 선언 위치가 같아야 함 🍪 변수 타입int: 정수double: 실수boolean: 불리언 타입 / true, falsechar: 문자 하나 / 작은따옴표(’)로 감싸야함String: 문자열 / 큰따옴표(”)로 감싸야함cf. String은 첫 글자가 대문자로 시작하는 특별한 타입 (클래스 배우면 이해 가능) 🍪 리터럴코드에서 개발자가 직접 적은 고정된 값을 프로그래밍 용어로 리터럴(literal)이라고 함int a..