![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxMWIi%2FbtrbgphICzo%2FJwaJOTK3VeqGtzSOK6f090%2Fimg.png)
자바의 입력기능 스캐너(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() : 실수를 입력 ..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcPcrKK%2Fbtra4XeSvK2%2FoSj11Dn6KxwLRPFI9zlxK0%2Fimg.png)
JUnit, AssertJ, 단위테스트 개념 및 다양한 활용법
2021. 8. 4. 15:34
JAVA with TDD, Clean Code
📖 단위 테스트란? 단위 테스트는 작은 논리 또는 코드를 테스트하여 코드의 출력이 특정 데이터의 입력 및 / 또는 특정 조건을 충족할 때 예상한 대로인지 확인합니다. 일반적으로 단위 테스트는 다른 테스트와 독립적이어야 한다. 단위 테스트는 메서드 나 클래스 일 수 있는 작은 코드 단위만 대상으로 한다. 개발자가 현재 논리의 문제와 현재 변경으로 인한 회귀 실패를 발견하는 데 도움이 되고, 또한 현재 코드가 향후 구현에 어떻게 영향을 미칠 수 있는지에 대한 통찰력을 제공한다. 📗 main method main method의 용도 프로그램을 시작 구현한 프로그램을 테스트 여기서는 main method를 테스트 용도로 사용하는 경우를 가정하고 있다. 가장 간단한 사칙연산을 예로 들어 보자 사칙연산이 가능한 계..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJ8Msw%2FbtrbgnYpVco%2FVeQoflvXThRpA6MAdjTMI1%2Fimg.png)
백준 알고리즘 파이썬(Python) 1543번 문서검색
2021. 8. 4. 14:49
Algorithm
이 문제는 크게 어려울 것은 없지만 중요한 것은 중복을 방지하는 것이다. 아래와 같은 그림에서도 만약 중복을 생각하지 않고 푼다면 index가 2인 자리의 a부터 또다시 단어가 찾아져 원하는 답보다 더 크게 나올 것이다. 따라서 중요한 포인트는 start 기준점을 잡아서 한 칸씩 오른쪽으로 움직이면서 문서에서 단어를 검색하고 그 단어가 나왔다면 start 기준점을 단어의 길이만큼 올려주는 것이다. data = input() target = input() start = 0 count = 0 while start
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdmg5LR%2FbtrbbTwN1kX%2F2d7a9lzZlQ9EiKDKYbt7Fk%2Fimg.png)
백준 알고리즘 파이썬(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값을 구한것 # ..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb3C0o1%2Fbtra34L53cX%2FDjgqtNuxPckMzyzvlbu9Vk%2Fimg.png)
백준 알고리즘 파이썬(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..