n개 간격의 원소들
import java.util.*;
class Solution {
public int[] solution(int[] num_list, int n) {
int size = num_list.length/n;
if(num_list.length%n>0){size++;}
int[] answer = new int[size];
int count = 0;
for(int i = 0; i < num_list.length; i+=n){
answer[count++]=num_list[i];
}
return answer;
}
}
n 번째 원소까지
class Solution {
public int[] solution(int[] num_list, int n) {
int[] answer = new int[n];
for(int i=0; i<n; i++){
answer[i]=num_list[i];
}
return answer;
}
}
순서 바꾸기
class Solution {
public int[] solution(int[] num_list, int n) {
int[] answer = new int[num_list.length];
int count=0;
for(int i = n; i < num_list.length; i++){
answer[count++]=num_list[i];
}
for(int i = 0; i < n; i++){
answer[count++]=num_list[i];
}
return answer;
}
}
n 번째 원소부터
class Solution {
public int[] solution(int[] num_list, int n) {
int[] answer = new int[num_list.length-n+1];
int count = 0;
for(int i = n-1; i < num_list.length; i++){
answer[count++]=num_list[i];
}
return answer;
}
}
첫 번째로 나오는 음수
class Solution {
public int solution(int[] num_list) {
int answer = -1;
for(int i = 0; i < num_list.length; i++){
if(num_list[i]<0){
answer=i;
break;
}
}
return answer;
}
}
가까운 1 찾기
class Solution {
public int solution(int[] arr, int idx) {
int answer = -1;
for(int i = idx; i<arr.length; i++){
if(arr[i]==1){
answer=i;
break;
}
}
return answer;
}
}
카운트 다운
class Solution {
public int[] solution(int start_num, int end_num) {
int[] answer = new int[start_num-end_num+1];
int count = 0;
for(int i = start_num; i >= end_num; i--){
answer[count++]=i;
}
return answer;
}
}
배열 만들기 1
class Solution {
public int[] solution(int n, int k) {
int size = 0;
for(int i = 1; i <= n; i++){
if(k*i <=n){
size++;
}
}
int[] answer = new int[size];
for(int i = 0; i < size; i++){
answer[i]=(i+1)*k;
}
return answer;
}
}
접두사인지 확인하기
class Solution {
public int solution(String my_string, String is_prefix) {
int answer = 0;
for(int i = 0; i < is_prefix.length(); i++){
if(i<my_string.length()){
if(my_string.charAt(i)==is_prefix.charAt(i)){
answer=1;
}else{
answer= 0;
break;
}
}else{
answer=0;
break;
}
}
return answer;
}
}
문자열의 앞의 n글자
class Solution {
public String solution(String my_string, int n) {
String answer = "";
for(int i = 0 ; i < n; i++){
answer += my_string.charAt(i);
}
return answer;
}
}
접미사 배열
import java.util.*;
class Solution {
public String[] solution(String my_string) {
String[] answer = new String[my_string.length()];
int count = 0;
for(int i = my_string.length()-1; i >=0; i--){
String str = "";
for(int j = my_string.length()-i-1; j<my_string.length(); j++){
str+=my_string.charAt(j);
}
answer[count++]=str;
}
Arrays.sort(answer);
return answer;
}
}
문자열 뒤의 n글자
class Solution {
public String solution(String my_string, int n) {
String answer = "";
for(int i = my_string.length()-n; i < my_string.length(); i++){
answer += my_string.charAt(i);
}
return answer;
}
}
부분 문자열 이어 붙여 문자열 만들기
class Solution {
public String solution(String[] my_strings, int[][] parts) {
String answer = "";
for(int i = 0; i < parts.length; i++){
for(int j = parts[i][0]; j <= parts[i][1]; j++){
answer += my_strings[i].charAt(j);
}
}
return answer;
}
}
글자 이어 붙여 문자열 만들기
class Solution {
public String solution(String my_string, int[] index_list) {
String answer = "";
for(int i = 0; i < index_list.length; i++){
answer += my_string.charAt(index_list[i]);
}
return answer;
}
}
콜라츠 수열 만들기
import java.util.*;
class Solution {
public int[] solution(int n) {
ArrayList<Integer> al = new ArrayList<>();
al.add(n);
while(n!=1){
if(n%2==0){
n /= 2;
al.add(n);
}else{
n = 3 * n + 1;
al.add(n);
}
}
int[] answer = new int[al.size()];
for(int i = 0; i < al.size(); i++){
answer[i] = al.get(i).intValue();
}
return answer;
}
}
카운트 업
class Solution {
public int[] solution(int start_num, int end_num) {
int[] answer = new int[end_num-start_num+1];
int count = 0;
for(int i = start_num; i <= end_num; i++){
answer[count++]=i;
}
return answer;
}
}
l로 만들기
class Solution {
public String solution(String myString) {
String answer = "";
for(int i = 0; i < myString.length(); i++){
if(myString.codePointAt(i)<"l".codePointAt(0)){
answer+= "l";
}else{
answer+=myString.charAt(i);
}
}
return answer;
}
}
특별한 이차원 배열 1
class Solution {
public int[][] solution(int n) {
int[][] answer = new int[n][n];
int j = 0;
for(int i = 0; i < n; i++){
answer[i][j++]=1;
}
return answer;
}
}
간단한 식 계산하기
class Solution {
public int solution(String binomial) {
int answer = 0;
String[] str = binomial.split(" ");
if(str[1].codePointAt(0)=="+".codePointAt(0)){
answer = Integer.parseInt(str[0]) + Integer.parseInt(str[2]);
System.out.println(answer + "+");
}else if(str[1].codePointAt(0)=="-".codePointAt(0)){
answer = Integer.parseInt(str[0]) - Integer.parseInt(str[2]);
}else{
answer = Integer.parseInt(str[0]) * Integer.parseInt(str[2]);
}
return answer;
}
}
주사위 게임 1
class Solution {
public int solution(int a, int b) {
int answer = 0;
if(a%2!=0 && b%2!=0){
answer = a*a + b*b;
}else if(a%2!=0 || b%2!=0){
answer = 2 * (a + b);
}else{
answer = a - b;
if(answer < 0){
answer *= -1;
}
}
return answer;
}
}
조건에 맞게 수열 변환하기 3
class Solution {
public int[] solution(int[] arr, int k) {
int[] answer = new int[arr.length];
for(int i = 0; i < arr.length; i++){
if(k%2!=0){
answer[i]=arr[i]*k;
}else{
answer[i]=arr[i]+k;
}
}
return answer;
}
}
접미사인지 확인하기
class Solution {
public int solution(String my_string, String is_suffix) {
int answer = 0;
int count = 0;
if(my_string.length()<is_suffix.length()){
return 0;
}
for(int i = my_string.length()-is_suffix.length(); i < my_string.length(); i++){
if(my_string.charAt(i)==is_suffix.charAt(count++)){
answer = 1;
}else
answer = 0;
}
return answer;
}
}
9로 나눈 나머지
class Solution {
public int solution(String number) {
int answer = 0;
String[] arr = number.split("");
for(int i = 0; i < arr.length; i++){
answer += Integer.parseInt(arr[i]);
}
answer%=9;
return answer;
}
}
배열의 원소 삭제하기
import java.util.*;
class Solution {
public int[] solution(int[] arr, int[] delete_list) {
ArrayList<Integer> al = new ArrayList<>();
for(int i = 0; i < arr.length; i++){
boolean b = true;
for(int j = 0; j < delete_list.length; j++){
if(delete_list[j]==arr[i]){
b = false;
}
}
if(b){
al.add(arr[i]);
}
}
int[] answer = new int[al.size()];
for(int i = 0; i < answer.length; i++){
answer[i]=al.get(i);
}
return answer;
}
}
공백으로 구분하기 1
class Solution {
public String[] solution(String my_string) {
String[] answer = my_string.split(" ");
return answer;
}
}
부분 문자열
class Solution {
public int solution(String str1, String str2) {
int answer = 0;
if(str2.contains(str1)){
answer = 1;
}
return answer;
}
}
꼬리 문자열
class Solution {
public String solution(String[] str_list, String ex) {
String answer = "";
for(int i = 0; i < str_list.length; i++){
if(!str_list[i].contains(ex)){
answer += str_list[i];
}
}
return answer;
}
}
x 사이의 개수
class Solution {
public int[] solution(String myString) {
String[] arr = myString.split("x");
int size = arr.length;
if(myString.charAt(myString.length()-1)==('x')){
size+=1;
}
int[] answer = new int[size];
for(int i = 0; i < arr.length; i++){
answer[i]=arr[i].length();
}
return answer;
}
}
0 떼기
class Solution {
public String solution(String n_str) {
String answer = "";
boolean startZero = false;
if(n_str.charAt(0)=='0'){
startZero=true;
}
for(int i = 0; i < n_str.length(); i++){
if(startZero){
if(n_str.charAt(i)=='0'){
}else{
answer+=n_str.charAt(i);
startZero=false;
}
}else{
answer+=n_str.charAt(i);
}
}
return answer;
}
}
부분 문자열인지 확인하기
class Solution {
public int solution(String my_string, String target) {
int answer = 0;
if(my_string.contains(target)){
answer = 1;
}
return answer;
}
}