📝자바 for(object : list)
향상된 for문이라고 부른다. 배열이나 ArrayList의 값을 사용할 수는 있지만 수정할 수는 없다.
ArrayIndexOutOfBoundsException 를 피할 수 있다고 한다.
int[] a = new int[N];
for(int i : a) {
i = sc.nextInt();
System.out.println(i + " ");
}
sc.close();
System.out.print("\n"+a[0]);
입력
5
1 2 3 4 5
출력
1 2 3 4 5
0
향상된 for 문 안에서는 i를 사용할 수 있지만 실제로는 배열의 값이 수정되지 않는 것을 확인할 수 있다.
참고
[Java] 향상된,개선된 for 문 개념,문법 총 정리
for(Object : List) 구문
💻백준 1316: 그룹 단어 체커 (자바)
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int cnt = 0;
for (int i = 0; i < N; i++) {
String str = sc.next();
String tmp = "";
boolean gwTrue = true; /* 플래그를 초기화해줌 */
String[] strSplit = str.split("");
/* 맨 앞 또는 전의 값과 다르면 tmp에 추가*/
/* ex. aabbbaaac -> abac 추가됨 */
for (int j = 0; j < strSplit.length; j++) {
if (j == 0 || !strSplit[j - 1].equals(strSplit[j])) {
tmp += strSplit[j];
}
}
/* 추가된 값을 검사하여 같은 값이 있을 경우 그룹단어 아님*/
for (int k = 0; k < tmp.length(); k++) {
if (tmp.indexOf(tmp.charAt(k)) != k) {
gwTrue = false;
break;
}
}
if (gwTrue)
cnt++;
}
System.out.println(cnt);
입력
2
hhhappy
yyyya
출력
2
💻백준 9020: 골드바흐 (자바)
백준 9020
isPrime 메소드는 소수인지 확인하여 boolean으로 리턴해줌
static boolean isPrime(int n) {
if (n == 1) /* 1은 소수가 아니므로 제외 */
return false;
else if (n == 2)
return true;
/* 2부터 루트(tmp)+1 까지 */
for (int j = 2; j < (int) Math.sqrt(n) + 1; j++)
if (n % j == 0)
return false;
return true;
}
n/2부터 시작하여 isPrime 메소드로 검사
18일 경우 (9, 9) -> (8,10) -> (7, 11) 순서로 진행되며 7 11 이 출력되고 for문을 나가게 된다.
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for (int i = 0; i < T; i++) {
int n = sc.nextInt();
int tmp = n / 2;
for (int j = 0; j < n / 2; j++) {
if (isPrime(tmp - j) && isPrime(tmp + j)) {
System.out.println(tmp - j + " " + (tmp + j));
break;
}
}
}
☕️ 잡담
할 수 없는 걸 내 문제라고 생각하지 않기!(ㅜ)
학원은 옮기지 않기로!
백준 좀 할만해지면(골드1~2 ? 지금은 실버5 🤣) 프로그래머스로 코테 준비 할것🌟
'TIL' 카테고리의 다른 글
220310 (0) | 2022.03.10 |
---|---|
220307: 자바 배열 (0) | 2022.03.07 |
220303: 자바 가위바위보 (0) | 2022.03.03 |
220302: JAVA 클래스, 생성자 (0) | 2022.03.02 |
220228: JVM 개념, JAVA method 개념 (0) | 2022.02.28 |
댓글