1. x만큼 간격이 있는 n개의 숫자
https://school.programmers.co.kr/learn/courses/30/lessons/12954?language=java
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
class Solution{
public long[] solution(int x, int n){
long[] answer = new long[n];
answer[0] = x;
for(long i = 1; i < n; ++i){
answer[i] = answer[i - 1] + x;
}
return answer;
}
}
2. 나머지가 1이 되는 수 찾기
https://school.programmers.co.kr/learn/courses/30/lessons/87389?language=java
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
class Solution {
public int solution(int n) {
int answer = 0;
for(int i = 2; i < n; ++i){
if(n % i == 1){
answer = i;
break;
}
}
return answer;
}
}
3. 두 정수 사이의 합
https://school.programmers.co.kr/learn/courses/30/lessons/12912?language=java
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
class Solution {
public long solution(int a, int b) {
long answer = 0;
if(a > b){
for(int i = b; i <= a; ++i){
answer += i;
}
}
else if(a < b){
for(int i = a; i <= b; ++i){
answer += i;
}
}
else{
return a;
}
return answer;
}
}
4. 콜라츠 추측
https://school.programmers.co.kr/learn/courses/30/lessons/12943?language=java
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
class Solution{
public int solution(long num){
int answer = 0;
if(num == 1) return 0;
int i = 0;
for(i = 0; i < 500; ++i){
if(num % 2 == 0){
num = num / 2;
}
else{
num = num * 3 + 1;
}
if(num == 1){
return i+1;
}
}
return -1;
}
}
5. 서울에서 김서방 찾기
https://school.programmers.co.kr/learn/courses/30/lessons/12919?language=java
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
class Solution{
public String solution(String[] seoul){
int index = 0;
for(int i = 0; i < seoul.length; ++i){
if(seoul[i].equals("Kim")){
index = i;
break;
}
}
return "김서방은 " + index + "에 있다";
}
}
6. 핸드폰 번호 가리기
https://school.programmers.co.kr/learn/courses/30/lessons/12948?language=java
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
import java.util.*;
class Solution{
public String solution(String phone_number){
char[] c = phone_number.toCharArray();
for(int i = 0; i < c.length - 4; ++i){
c[i] = '*';
}
return String.valueOf(c);
}
}
7. 나누어 떨어지는 숫자 배열
https://school.programmers.co.kr/learn/courses/30/lessons/12910?language=java
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
import java.util.*;
class Solution {
public int[] solution(int[] arr, int divisor) {
int cnt = 0;
for(int i = 0; i < arr.length; ++i){
if(arr[i] % divisor == 0){
cnt += 1;
}
}
if(cnt == 0){
int[] answer = {-1};
return answer;
}
int[] answer = new int[cnt];
int index = 0; // answer 배열의 index
for(int i = 0; i < arr.length; ++i){
if(arr[i] % divisor == 0){
answer[index] = arr[i];
index++;
}
}
Arrays.sort(answer);
return answer;
}
}
Appendix
선형탐색 (equals, replacaAll, startsWith() )
equals : String 비교 메소드
str1.equals(str2)
boolean 타입 : 두 문자열이 같으면 true, 다르면 false 리턴
replaceAll() : 문자열을 원하는 문자값으로 변환하는 함수 (특정 문자열 제거)
String st = st.replaceAll("[^CBD]", "") //CBD가 아닌 문자열 제거
startsWith() : 어떤 String이 특정 문자열로 시작하는지를 boolean 타입으로 리턴
String example = "BTC Antony";
System.out.println(example.startsWith("B"));
System.out.println(example.startsWith("BTC"));
//실행결과
[ture]
[true]
boolean startsWith(String prefix)
--------------------
String 배열 쪼개기 : String.toCharArray()
두 String 이 같은지 비교할 때 : equals
숫자 배열만들기, String 비교
배열 -> 배열
int -> 배열로 바꾸는거 파악
'코딩테스트 > programmers' 카테고리의 다른 글
프로그래머스 [#7] 코딩테스트 연습 JAVA - 7 (0) | 2023.01.05 |
---|---|
프로그래머스 [#5] 코딩테스트 연습 JAVA - 5 -(only Lv 2) (0) | 2022.12.15 |
프로그래머스 [#4] 코딩테스트 연습 JAVA - 4 (0) | 2022.12.07 |
프로그래머스 [#3] 코딩테스트 연습 JAVA - 3 (0) | 2022.12.01 |
프로그래머스 [#1] 코딩테스트 연습 JAVA - 1 (0) | 2022.11.17 |
댓글