![[BOJ/백준][Java] (10172) 개](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/dojPEM/btrNyG0YGKI/hlQmRkbKCkoMcT51KKv4z1/img.png)
[BOJ/백준][Java] (10172) 개
(10172) 개
- Algorithm/Backjoon
- · 2022. 9. 30.
운영체제와 독립적으로 실행되는 자바의 특징, 자바 컴파일러와 바이트 코드, 자바 가상 머신(JVM)의 역할과 구성, 그리고 자바 프로그램의 구성 요소인 클래스, 필드, 메서드 등에 대해 설명하고 있다. 또한, 표준 입출력 클래스와 명령문, 주석 등의 사용 방법도 소개하고 있다. Java 운영체제와 독립적 실행 타 언어에 비해 쉬운 난이도 타 언어에 비해 높은 안정성 연산자 오버로딩 금지로 인한 코드 가독성 향상 (제네릭 도입) 타 언어에 비해 느린 실행 속도와 긴 길이의 코드 썬 마이크로시스템즈(Sun Microsystems)사의 제임스 고슬링(James Gosling) 팀에 의해 개발된 객체 지향 프로그래밍 언어로, JVM(Java Virtual Machine)이라는 자바 가상 머신을 사용해 운영체제와..
브랜치의 생성, 이동, 삭제, 병합 등의 기본 명령어부터, master, develop, feature, release, hotfix 등 다양한 브랜치의 역할과 용도에 대해 상세히 알려준다. 브랜치 관리에 대한 이해를 돕기 위해 각 브랜치의 작업 흐름과 사용 시나리오도 함께 설명하고 있다. Branch Command 생성 git branch branch 생성 git checkout -b branch 생성하며 이동(checkout) 이동 git checkout 선택한 branch로 이동 삭제 git branch -d[-D] local branch (강제) 삭제 git push -d[-D] origin remote branch 삭제 병합 git merge 현재 branch에서 해당 branch의 수정사항 가..
Git의 개념, Repository의 구조, Init, Clone, Add, Commit, Commit Message, Push, Branch, Issue 등의 Git 작업 흐름과 용어에 대한 정의와 사용 방법을 상세히 알려준다. Git 분산 버전 관리 시스템을 말한다. 자세한 내용은 아래를 참고하자. Git과 GitHub의 차이는 무엇일까? Git 버전 관리 프로그램 오픈 소스 버전 관리 시스템(VCS, Version Control System) 로컬 버전 관리 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분 xog9.kr Repository 나의 remote repository 타인의 remote repository 나의 local repository..
Git은 로컬에서 파일의 변경사항을 추적하고 여러 사용자 간의 작업 조율을 위한 도구로, 리눅스 커널 개발을 위해 리누스 토르발스가 개발했다. 반면 GitHub은 Git 저장소 호스팅을 지원하는 웹 서비스로, 클라우드 서버를 활용해 로컬 버전 관리를 가능케 한다. Git 버전 관리 프로그램 오픈 소스 버전 관리 시스템(VCS, Version Control System) 로컬 버전 관리 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템으로, 리눅스 커널 개발을 위해 리누스 토르발스가 2005년에 처음으로 개발하였다. GitHub 원격 저장소(버전 관리, 소스 코드 공유, 분산 버전 제어 등) 웹 기반 호스팅 서비스 클라우드 서버를 이용해 ..
npm은 Node.js의 모듈을 패키지로 만들어 관리하고 배포하는 역할을 한다. package.json은 프로젝트가 의존하는 패키지의 리스트, 프로젝트 버전 등을 명시해 프로젝트의 의존성을 관리하고, 다른 개발자가 쉽게 사용할 수 있게 한다. npm Node Package Manager의 약자로, Node.js를 위한 패키지 매니저이자 Node.js를 위한 오픈소스 생태계이다. 이는 Node.js에서 사용되는 모듈들을 패키지로 만들어 관리, 배포하고 있다. package.json 기본적으로 package.json은 문서이다. 개발자가 배포한 패키지에 대해 다른 사람들이 관리하고 설치하기 쉽게 하기 위한 문서이다. 또, npm에 패키지를 배포하고 npm registry에 올리기 위해 반드시 필요한 문서 파..
8393번: 합 n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오. www.acmicpc.net 문제 설명 n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 n (1 ≤ n ≤ 10,000)이 주어진다. 출력 1부터 n까지 합을 출력한다. 입출력 예제 입력 출력 3 6 코드 나의 풀이 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int count = scanner.nextInt(); scanner.close(); int result = 0; for (int i = 0; i
10950번: A+B - 3 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 설명 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 각 테스트 케이스마다 A+B를 출력한다. 입출력 예제 입력 출력 5 1 1 2 3 3 4 9 8 5 2 2 5 7 17 7 코드 나의 풀이 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner =..
본 포스트는 드림코딩님의 자바스크립트 기초 강의 (ES5+)를 수강 후 정리한 노트입니다. Scope Block scope 블럭 밖에서는 블럭 안의 내용을 볼 수 없게 된다. Global scope 필요한 부분에서만 정의해서 쓰는 것이 좋다. let vs var let ES6에서 추가되었다. 중복 선언이 불가능하다. 값의 재할당이 가능하다. 선언된 변수는 전역객체의 프로퍼티가 아니다. var 중복 선언이 가능하다. 값의 재할당이 가능하다. 선언된 변수는 전역객체의 프로퍼티다. 어디에 선언했냐에 관계없이 항상 제일 위로 선언을 끌어 올려주는 hoisting이 발생한다. mutable vs immutable mutable let 변할 수 있는 값을 뜻하며, 계속해서 변하는 값을 정의할 때 사용한다. immu..
본 포스트는 드림코딩님의 '제일 중요한 개발자의 자질'을 시청 후 정리한 노트입니다. 영상에서 나온 대표적인 자질들 문제 분석을 좋아한다. 끊임없이 배울 수 있어야 한다. 논리적이다. 새로운 트렌드를 잘 따라간다. 엉덩이가 무거워 오래 앉아 있는다. 리소스는 내가 지금 가지고 있는 게 아니다. 리소스는 내가 찾아 나서서 가지고 오거나 만들어 나가는 것이다. 목표를 이룰 수 있는 충분한 리소스가 없는 것이 아니라 Resourceful이 없는 것이다. Resourcefulness Resourceful Resourceful은 '지략(기략) 있는'이라는 뜻이다. having the ability to find quick and clever way to overcome difficulties. (어려움을 극복하기..
(25304) 영수증 25304번: 영수증 준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것 www.acmicpc.net 문제 설명 준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것이 맞는지 확인해보려 한다. 영수증에 적힌, 구매한 각 물건의 가격과 개수 구매한 물건들의 총 금액 을 보고, 구매한 물건의 가격과 개수로 계산한 총 금액이 영수증에 적힌 총 금액과 일치하는지 검사해보자. 입력 첫째 줄에는 영수증에 적힌 총 금액 $X$가 주어..
(3003) 킹, 퀸, 룩, 비숍, 나이트, 폰 3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰 첫째 줄에 동혁이가 찾은 흰색 킹, 퀸, 룩, 비숍, 나이트, 폰의 개수가 주어진다. 이 값은 0보다 크거나 같고 10보다 작거나 같은 정수이다. www.acmicpc.net 문제 설명 동혁이는 오래된 창고를 뒤지다가 낡은 체스판과 피스를 발견했다. 체스판의 먼지를 털어내고 걸레로 닦으니 그럭저럭 쓸만한 체스판이 되었다. 하지만, 검정색 피스는 모두 있었으나, 흰색 피스는 개수가 올바르지 않았다. 체스는 총 16개의 피스를 사용하며, 킹 1개, 퀸 1개, 룩 2개, 비숍 2개, 나이트 2개, 폰 8개로 구성되어 있다. 동혁이가 발견한 흰색 피스의 개수가 주어졌을 때, 몇 개를 더하거나 빼야 올바른 세트가 되는..
(11654) 아스키 코드 11654번: 아스키 코드 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 설명 알파벳 소문자, 대문자, 숫자 0-9 중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. 입력 알파벳 소문자, 대문자, 숫자 0-9 중 하나가 첫째 줄에 주어진다. 출력 입력으로 주어진 글자의 아스키 코드 값을 출력한다. 입출력 예제 입력 출력 A 65 C 67 0 48 9 57 a 97 z 122 코드 나의 풀이 import java.util.Scanner; public class Main { public static void main(String[] a..
(2753) 윤년 2753번: 윤년 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서 www.acmicpc.net 문제 설명 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서 100의 배수가 아니라서 윤년이다. 1900년은 100의 배수이고 400의 배수는 아니기 때문에 윤년이 아니다. 하지만, 2000년은 400의 배수이기 때문에 윤년이다. 입력 첫째 줄에 연도가 주어진다. 연도는 1보다 ..
(9498) 시험 성적 9498번: 시험 성적 시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 설명 시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 시험 점수가 주어진다. 시험 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. 출력 시험 성적을 출력한다. 입출력 예제 입력 출력 100 A 코드 나의 풀이 import java.util.Scanner; public class Main { public stati..
(10172) 개