07.30 pre-edu
基本アルゴリズムPart 1
1.2つの整数の合計
2つの整数a、bが与えられたとき、aとbの間のすべての整数の和に属する関数.
2つの整数の大きさの関係が不定であるため,分句で解決した.
class Solution {
public long solution(int a, int b) {
long answer = 0;
if(a < b){
for(int i = a; i <= b; i++){
answer += i;
}
}else {
for(int i = b; i <= a; i++){
answer += i;
}
}
return answer;
}
}
2.スイカスイカスイカスイカスイカ水?
長さはn「スイカの数…」関数を完了し、同じモードを維持する文字列を返します.例えば、nが4であれば、「スイカスイカ」3、「スイカ水」
class Solution {
public String solution(int n) {
String answer = "";
for(int i = 1; i <= n; i++){
if (i % 2 == 0){
answer += "박";
} else {
answer += "수";
}
}
return answer;
}
}
3.ソウルで金相公を探す
Sterng型に配列されたseoulの要素に「Kim」の位置xが見つかり、「Kim Westernがxにある」を返すStringの関数seoulに「Kim」が一度しか現れません.
equalsの方法が覚えられないので、少し暗くなりました.
class Solution {
public String solution(String[] seoul) {
String answer = "";
for(int i = 0; i < seoul.length; i++){
if(seoul[i].equals("Kim")){
answer = String.format("김서방은 %d에 있다",i);
}
}
return answer;
}
}
4.薬液の配合
整数nにnを加えたすべての整数の値を返す関数です.
class Solution {
public int solution(int n) {
int answer = 0;
for(int i = 1; i <= n; i++){
if (n % i == 0){
answer += i;
}
}
return answer;
}
}
5.文字列中のpとyの個数
大文字と小文字を混合する文字列sが与えられます.sでは、「p」の個数と「y」の個数を比較し、falseとは異なる同じtrueの関数を完了します.p""y"がいない場合はtrueを返しますが、個数を比較する場合は大文字と小文字は区別されません.
文字列をChar型配列に変更し、for文を回してif文で答えを返す
もっと効果的な方法があるのではないでしょうか.
class Solution {
boolean solution(String s) {
boolean answer = true;
char[] ss = s.toCharArray();
int p = 0;
int y = 0;
for (int i = 0; i < ss.length; i++){
if (ss[i] == 'p' || ss[i] == 'P'){
p++;
} else if (ss[i] == 'y' || ss[i] == 'Y'){
y++;
}
}
if (p == y){
answer = true;
} else if (p > y){
answer = false;
} else if (p < y){
answer = false;
}
return answer;
}
}
6.私は同じ数字が好きではありません
アレイarrによって与えられるアレイarrの各要素は0〜9からなる.
このとき,配列arrに連続して現れる数字は1つしか残っておらず,すべて削除しようとした.
ただし、除去後の残り数を返す場合は、アレイarr内の要素の順序を維持する必要があります.
なるべくArrayListは書かずArrayのみを書いてfor ifで解決しますが答えがないのでArrayListを書きました
import java.util.*;
public class Solution {
public int[] solution(int []arr) {
int[] answer = {};
ArrayList<Integer> arrlist = new ArrayList<>();
int num = 10;
for (int i = 0; i < arr.length; i++){
if(arr[i] != num){
arrlist.add(arr[i]);
num = arr[i];
}
}
answer = new int[arrlist.size()];
for (int i = 0; i < answer.length; i++){
answer[i] = arrlist.get(i);
}
return answer;
}
}
7.中間文字を入力
単語sの中間文字を返す関数を作成しましょう.単語の長さが偶数の場合、中間の2文字が返されます.
class Solution {
public String solution(String s) {
String answer = "";
char[] dummy = s.toCharArray();
int half = dummy.length / 2;
if (dummy.length % 2 == 0){
answer = String.format("%c%c", dummy[half-1], dummy[half]);
} else {
answer = String.format("%c",dummy[half]);
}
return answer;
}
}
8、間隔xのn個の数字
整数xと自然数nを入力し、xからn個の数字xのリストを返します.次の制限条件を見て、条件を満たす関数を完成します.
せいげんじょうけん
xは、−1000000または1000000以下の整数である.
nは1000未満の自然数である.
class Solution {
public long[] solution(int x, int n) {
long[] answer = {};
answer = new long[n];
long temp = x;
for (int i = 0; i < n; i++){
answer[i] = temp;
temp += x;
}
return answer;
}
}
Reference
この問題について(07.30 pre-edu), 我々は、より多くの情報をここで見つけました https://velog.io/@jslover/07.30-pre-eduテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol