자바(34)
-
[Programmers] Lv0 평행 Java
문제 출처 [프로그래머스 코딩 테스트 연습] https://school.programmers.co.kr/learn/courses/30/lessons/120875 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 평행하다고 하는 것은 기울기가 갔다 와 의미가 같다. 기울기를 구하는 공식은 (y2 - y1) / (x2 - x1)이다. 평행을 하는 경우의 수를 구하고 그 경우의 수 끼리 서로 같은지 구분하여 풀었다. 소스 코드 public class Solution { public double getGrade(int[] dot1, int[] dot2) ..
2023.01.25 -
[Programmers] Lv0 n의 배수 고르기 Java
문제 출처 [프로그래머스 코딩 테스트 연습] https://school.programmers.co.kr/learn/courses/30/lessons/120905 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 문제는 numlist에서 n의 배수만 걸러내는 것이다. 거의 모든 프로그래밍 언어는 나머지 연산자를 제공해 준다. n의 배수라는 말은 어떤 수가 n으로 나누어 떨어지는 수라고 할 수 있다. 이를 자바로 표현하면 다음과 같다. if ( num % n == 0) { // n의 배수일때 실행되는 코드 } 이를 배열로 구현한다면 배열을 여러 번 생..
2023.01.24 -
[Programmers] Lv0 자릿수 더하기 Java
문제 출처 [프로그래머스 코딩 테스트 연습] https://school.programmers.co.kr/learn/courses/30/lessons/120906 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 해당 숫자를 각 자리마다 더하는 것이므로 문자열로 변환하면 각 자릿수에 접근을 할 수 있다. 이때 접근은 char로 가능하며 char을 int 다시 말해 char 에 해당하는 의미의 숫자로 바꾸려면 Character.getNumericValue(char)를 사용하거나 ASCII 코드를 이용하여 char - ‘0’ 이렇게 해주면 된다. 소스 ..
2023.01.23 -
[Programmers] Lv0 OX 퀴즈 Java
문제 출처 [프로그래머스 코딩 테스트 연습] https://school.programmers.co.kr/learn/courses/30/lessons/120907 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 이 문제는 형식이 고정된 식에 대해 결과가 맞는지 확인 하는 문제이다. 연산 기호 숫자 사이에는 하나이상의 공백이 있으며 또한 연산이 2번이 되지 않고 1번만 된다. 또한 연산자의 수는 2개 -, + 이다. 자바에서 array.split(구분자)를 쓰면 구분자를 기준으로 배열을 만들어 준다. 이를 이용하면 연산자를 구분할 수 있으며(연산자의..
2023.01.23 -
[Programmers] Lv0 문자열안에 문자열 Java
문제 출처 [프로그래머스 코딩 테스트 연습] https://school.programmers.co.kr/learn/courses/30/lessons/120908 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 Str1에 Str2가 있는지 확인하는 문제이므로 문자열 검색 알고리즘을 사용하면 된다. 보이어 무어법을 공부하고자 보이어 무어법으로 풀었다. 보이어 무어법의 시간 복잡도는 브루트 포스법과 KMP법 보다 알고리즘 시간이 더 빠르다. n = 택스트 길이, m 은 패턴의 길이일때 최악의 경우 O(n)이고 평균 O(n / m)이다. 보이어 무어법으..
2023.01.22 -
[Programmers] Lv0 제곱수 판별하기 Java
문제 출처 [프로그래머스 코딩 테스트 연습] https://school.programmers.co.kr/learn/courses/30/lessons/120909 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 자바에선 루트를 Math.sqrt(number)로 제공해준다. 또한 자바에선 나머지 연산자 %를 사용할 수 있기 떄문에 n을 루트로 나눈 것에 나머지가 0이면 즉 나누어 떨어지면 제곱수라고 반환하면 된다. 소스 코드 public class Solution { public int solution(int n) { return n % Math.s..
2023.01.21 -
[Programmers] Lv0 세균 증식 JAVA
문제 출처 [프로그래머스 코딩 테스트 연습] https://school.programmers.co.kr/learn/courses/30/lessons/120910 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 처음 세균 n마리가 있을 떄 t 시간 경과후 세균의 수는 총 n * 2^t 이다. 자바에서는 Math.pow(num, 제곱수)를 이용하여 제곱을 구할 수 있다. 이때 반환되는 타입은 double이기 때문에 형변환을 통해 int로 변환 시켜 줘야 된다. 소스 코드 class Solution { public int solution(int n, ..
2023.01.20 -
[Programmers] Lv0 문자열 정리하기(2) JAVA
문제 출처 [프로그래머스 코딩 테스트 연습] https://school.programmers.co.kr/learn/courses/30/lessons/120911 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 먼저 정렬을 하기 전에 먼저 my_string을 소문자로 변경해준다. 소문자로 변경을 해주는 이유는 sort로 정렬을 할시 대문자가 소문자 보다 앞으로 오기 때문이다. Bcad로 예를 들면 Bacd로 정렬이 되기 때문에 소문자로 먼저 변경을 해줘야 한다. 위의 이유는 아스키 코드로 정렬할시 A는 65이고 a는 97이기 때문에 (이는 char..
2023.01.20 -
[Programmers] Lv0 7의 개수 JAVA
문제 출처 [프로그래머스 코딩 테스트 연습] https://school.programmers.co.kr/learn/courses/30/lessons/120912 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 각각의 배열은 전부 정수형인 int로 되어있다. 7을 검출해낼려면 int에서 String으로 변환하여 각각 비교 해야한다. 여기서는 StringBuilder로 변수 numberString을 만들고 거기에 문자열을 넣어서 한번에 검사를 한다. numberString.charAt(index)은 index에 접근하여 해당 요소를 char 형태로 ..
2023.01.20 -
[Programmers] Lv0 잘라서 배열로 저장하기 JAVA
문제 출처 [프로그래머스 코딩 테스트 연습] https://school.programmers.co.kr/learn/courses/30/lessons/120913 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 배열의 총길이는 my_str의 길이에서 n을 나눈 것을 올림 처리를 하면 된다. 몫이 n개의 수가 있는 배열의 수가 나머지가 남은 문자열이다. 배열의 총 길이가 정해졌기 때문에 이에 각 배열에 적절히 잘라서 넣으면 된다. 이때 배열의 길이에 초과하여 접근하지 않게 마지막 인덱스에 접근을 할 때 배열의 길이에 초과하여 접근하지 않게 해 줘야 ..
2023.01.20