알고리즘 문제 풀이
Q16. IsoGram // 이중포문의 몰랐던 점 깨달음!!
DvdHan
2022. 12. 8. 16:12
===================== 해답 2가지 ===========================
이중 for문 사용할때는 결국엔 i = j 의 경우가 발생한다.
이 경우 생각한 값이 달라질 수 있는 변수가 되므로 반드시 조건문으로 어떻게 처리할 것인지 적어주는게 중요하다.
해답 1번.
package com.codestates.coplit;
import java.util.*;
public class Solution {
public boolean isIsogram(String str) {
/*
str 입력받아 아이소그램인지 여부 리턴.
<주의사항>
빈문자열 = true
대소문자 구분 x
<접근>
1. 모두 대문자로 변경
2. str.charAt(i)와 str.charAt(j)가 같은게 있는지 확인
*/
boolean answer = true;
String iso = str.toUpperCase();
if (iso.length() == 0) {
answer = true;
return answer;
}
for (int i = 0; i < iso.length(); i++) {
for (int j = 1; j < iso.length(); j++) {
if ( i == j ) { 여기
continue;
}
if (iso.charAt(i) == iso.charAt(j)) {
answer = false;
return answer;
}
}
}
return answer;
}
}
해답 2번.
if (iso.length() == 0) {
answer = true;
return answer;
}
for (int i = 0; i < iso.length(); i++) {
for (int j = 1; j < iso.length(); j++) {
if ( i != j ) { 여기
if (iso.charAt(i) == iso.charAt(j)) {
answer = false;
return answer;
}
}
}
}
return answer;