자바의 입력기능 스캐너(Scanner)
2021. 8. 4. 16:20
JAVA
자바에서 데이터를 출력하는 명령은 System.out이고, 데이터를 입력받을 때는 Syetem.in을 이용한다. 데이터를 입력받을 때는 표준 JAVA API인 Scanner클래스를 사용한다. 스캐너 사용방법 1. 스캐너 객체 생성 Scanner scanner = new Scanner(System.in); 2. 입력 받을 데이터 타입에 따른 메서드 호출 scan.next(), scan.nextLine(), scan.nextInt(), scan.nextDouble() 등 scan.next() : 공백을 포함하지 않는 문자열을 입력 받을 때 scan.nextLine() : 공백을 포함한 문자열을 입력 받을 때 scan.nextInt() : 정수를 입력 받을 때 scan.nextDouble() : 실수를 입력 ..
JUnit, AssertJ, 단위테스트 개념 및 다양한 활용법
2021. 8. 4. 15:34
JAVA with TDD, Clean Code
📖 단위 테스트란? 단위 테스트는 작은 논리 또는 코드를 테스트하여 코드의 출력이 특정 데이터의 입력 및 / 또는 특정 조건을 충족할 때 예상한 대로인지 확인합니다. 일반적으로 단위 테스트는 다른 테스트와 독립적이어야 한다. 단위 테스트는 메서드 나 클래스 일 수 있는 작은 코드 단위만 대상으로 한다. 개발자가 현재 논리의 문제와 현재 변경으로 인한 회귀 실패를 발견하는 데 도움이 되고, 또한 현재 코드가 향후 구현에 어떻게 영향을 미칠 수 있는지에 대한 통찰력을 제공한다. 📗 main method main method의 용도 프로그램을 시작 구현한 프로그램을 테스트 여기서는 main method를 테스트 용도로 사용하는 경우를 가정하고 있다. 가장 간단한 사칙연산을 예로 들어 보자 사칙연산이 가능한 계..
백준 알고리즘 파이썬(Python) 1543번 문서검색
2021. 8. 4. 14:49
Algorithm
이 문제는 크게 어려울 것은 없지만 중요한 것은 중복을 방지하는 것이다. 아래와 같은 그림에서도 만약 중복을 생각하지 않고 푼다면 index가 2인 자리의 a부터 또다시 단어가 찾아져 원하는 답보다 더 크게 나올 것이다. 따라서 중요한 포인트는 start 기준점을 잡아서 한 칸씩 오른쪽으로 움직이면서 문서에서 단어를 검색하고 그 단어가 나왔다면 start 기준점을 단어의 길이만큼 올려주는 것이다. data = input() target = input() start = 0 count = 0 while start
백준 알고리즘 파이썬(Python) 1302번 베스트셀러
2021. 8. 4. 14:24
Algorithm
여기서 중요한 것은 max함수에 key값을 부여하여 그 key를 기준으로 가장 큰 것을 구하는 것이다. 예를 들어 [apple, apple, banana, cloud] 이런 리스트가 있다고 해보자 이 때 여기서 바로 max함수를 이용한다면 각 문자열의 맨 앞 부분을 비교하고, 유니코드로 변환했을 때 큰 값을 출력할 것이다. (여기서는 cloud가 출력됨을 확인) 하지만 우리가 원하는 것은 가장 빈도수가 높은 apple을 출력하는 것이다. 이 때 사용할 수 있는 것이 max안에 key값을 넣어 key값을 기준으로 뽑아내는 것이다. (min도 마찬가지) # count 함수는 빈도수를 구하는 함수 # data를 value 즉 단어와 그 단어의 빈도수(data.count)를 key로 놓고 max값을 구한것 # ..
백준 알고리즘 파이썬(Python) 1074번 Z
2021. 8. 3. 13:29
Algorithm
r과 c가 주어진다면 차례로 어느 사분면에 있는지를 확인하여 문제를 풀어나간다. (여기서 주의해야 할 점은 우리가 수학에서 흔히 배우는 오른쪽 위가 1 사분면인 사분면이 아니라 문제에서 주어진 순서대로의 사분면이다.) 만약 우리가 찾는 좌표가 4사분면에 있다면 그 좌표는 이미 1, 2, 3 사분면은 거친 좌표이니 그에 맞는 숫자를 더해주고 생각하면 된다. 예를 들어 n = 3이고 r과 c가 각각 7이라고 하자 그렇다면 n = 3일 때 r과 c는 4 사분면에 있으므로 3 사분면까지의 숫자는 이미 거친 것이다. 그 말은 (4**2) * 3을 더해주고 새롭게 n = 2인 경우로 시작하면 된다는 뜻이다. n = 2인 경우에도 r과 c는 3,3 즉 4 사분면에 존재한다. 아까와 같은 방식 즉 재귀의 방법으로 (2..