👇 공부한 자료들의 실제 소스파일들을 기록해논 공간입니다 👇
과제 1. 선택받은 너
선택받은너
int[] letter={8,12,4,13,2,14,4,5}
짝수만 출력하시오.
public class task01 {
public static void main(String[] args) {
// 배열 선언문
int[] letter = { 8, 12, 4, 13, 2, 14, 4, 5 };
// 짝수만 찾아내여 반복 출력하는 문
for (int i = 0; i < letter.length; i++) {
if (letter[i]%2==0){
System.out.println("짝수 : " + letter[i]);
}
}
}
}
과제 2. 큰 놈
큰 놈
int[] letter={8,12,4,13,2,14,4,5}
배열의 가장 큰 수가 있는 인덱스를 출력하시오.
출력값은 5입니다.
package TASK;
import sun.font.FontRunIterator;
public class task02 {
public static void main(String[] args) {
/*
문제 : 큰놈
int[] letter={8,12,4,13,2,14,4,5}
배열의 가장 큰수가 있는 인덱스를 출력하시오. 출력값은 5입니다.
*/
// 선언문
int[] letter={8,12,4,13,2,14,4,5};
int spot = 0;
// 큰수를 찾는 실행문
for (int i = 0; i < letter.length; i++) {
int max = letter[0];
if (max < letter[i]){
spot = i;
}
}
// 결과 출력문
System.out.println
(" 배열 중 가장 큰 수의 인덱스번호 : " + spot);
}
}
과제 3. 현상수배
현상수배
int[] letter={8,12,4,13,25,14,4,5}
범인을 찾으시오
범인은 짝수이면서 가장 큰 값이다.
범인은 14입니다.
package TASK;
public class task03 {
public static void main(String[] args) {
/*
문제 : 현상수배
int[] letter={8,12,4,13,25,14,4,5}
범인을찾으시오
범인은 짝수이면서 가장큰 값이다.
범인은 14입니다.
*/
// 배열선언
int[] letter={8,12,4,13,25,14,4,5};
int hes = 0;
int max = letter[0];
// 범인찾는 실행문
for (int i = 0; i < letter.length; i++) {
if (letter[i] > max ){
if ( letter[i]%2==0 ) {
hes = letter[i];
}
}
}
// 범인 출력문
System.out.println("내가 찾는 범인은 : " + hes);
}
}
과제 4. 비밀편지
비밀편지
String word ="gehoudfkimjnlvy";
int[] letter={8,12,3,13,1,14,3,4};
letter 배열은 word문자열 알파벳의 위치이다.
letter배열의 암호를 풀어서 편지의 내용을 출력하시오.
package TASK;
public class tesk04 {
public static void main(String[] args) {
/*
문제 : 비밀편지
String word ="gehoudfkimjnlvy";
int[] letter={8,12,3,13,1,14,3,4};
letter 배열은 word문자열 알파벳의 위치이다.
letter배열의 암호를 풀어서 편지의 내용을 출력하시오.
*/
// 선언문
String word ="gehoudfkimjnlvy";
char[] wordI = new char[word.length()];
int[] letter={8,12,3,13,1,14,3,4};
// 암호 해석 실행문
for (int i = 0; i < word.length(); i++) {
char tmp = word.charAt(i);
wordI[i] = tmp;
}
for (int i = 0; i < letter.length; i++) {
int pick = letter[i];
if (pick < wordI.length) {
System.out.print(wordI[pick]);
}
}
}
}
과제 5. 난 건물주
int[] arr = {1,0,0,0,1,1,1,0,0,0,0,1,1,1,1,0,0,0,1}
int size=2;
arr 배열에서 0이 의미하는 것은 공터이다.
size는 건물의 크기이다. 건물은 하나만 짓는다. 공터는 연속적으로 있어야 한다.
size 설정값에 따라 공터에 건물을 지을 수 있는 위치는 모두 몇 개인가?
size가 2일 경우에 7개이다.
package TASK;
public class task05 {
public static void main(String[] args) {
//선언문
int[] arr = {1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1};
int size = 2; // 사이즈
int cnt = 0;
int bilding = 0;
// 빌딩 갯수 계산처리문
for (int i = 0; i < arr.length; i++) {
if (arr[i] == 0) {
cnt++;
} else {
cnt=0;
}
if (cnt == size){
bilding++;
cnt--;
}
}
// 출력문
System.out.println(bilding);
}
}
과제 6. 앞 뒤가 똑같은 너
키보드로 문자를 입력받는다. 이때 문자열의 길이는 0보다 크고 10보다 작으며 짝수만 가능하다.
조건에 만족될 때까지 문자 입력을 받는다.
문자열을 앞으로 읽으나 뒤로 읽으나 같은 경우의 문자를 판별하는 코드를 작성하세요
package TASK;
import java.util.Scanner;
public class test06 {
public static void main(String[] args) {
// 선언부
String[] teststr = new String[6];
Scanner in = new Scanner(System.in);
int[] testInt = new int[6];
int lt = 0;
int rt = 5;
// 배열 입력 부
for (int i = 0; i < teststr.length; i++) {
System.out.print( i + "번째 / 문자 6개를 입력해주세요 : ");
teststr[i] = in.next();
}
// 비고 처리 후 출력 부
for (int i = 0; i < teststr.length; i++) {
if (teststr[lt].equals(teststr[rt])) {
lt++;
rt--;
}
if (rt < lt && lt == (teststr.length / 2)) {
System.out.println("앞 뒤가 같은 글자 입니다 ");
break;
} else if (lt == 0 && rt == 5) {
System.out.println("앞 뒤가 다른 글자 입니다 ");
System.out.println(lt + " + " + rt);
break;
}
}
}
}
과제 후기
요즘 문제 1개당 소요하는 시간이 늘어나기 시작했다.
아직 중첩 for문을 사용하지 않고 처리하라는 말씀 때문에 그런지
이중 for문으로 하면 좀 더 편하게 할 수 있는 부분들을
다시 고민하고 다시 생각하느라 어지럽다.
그래도 for문에 대한 이해를 높이는 게 정말 좋은 건 맞기 때문에 열심히 해야겠다.
'👩🏻💻 𝐋𝐚𝐧𝐠𝐮𝐚𝐠𝐞 > ⠀⠀⠀⠀ Jᴀᴠᴀ' 카테고리의 다른 글
2023/10/04✨ break & continue (1) | 2023.10.04 |
---|---|
2023/09/27🌱 배열과 단일for문을 사용한 문제풀이 (0) | 2023.09.29 |
2023/09/25🌙 배열 및 for문 활용 (0) | 2023.09.26 |
2023/09/22🌹 단일 for 문과 if 문 실습 (0) | 2023.09.23 |
2023/09/21✏️ For문 (0) | 2023.09.21 |