More actions
회고
임지민
난이도
중
수업내용
질의응답
새롭게 배운 내용
- 스트링 배열 안의 값을 사용할때는 .equals()!!
- import는 사용관계
- extends는 상속
- 형변환
- 없는걸 채워넣는것은 불가능
- 탈을 쓴다고해도 본질자체는!
느낀점/건의사항
오늘 수업도 수고하셨습니당 편하게 질문할 수 있어서 좋았습니다!
과제
- 임지민
- 백준 4673 셀프넘버
class Main {
public static void main(String[] args) { final int DEFAULT_MAX = 10000; boolean[] selfNumberArr = new boolean[DEFAULT_MAX+1]; //인덱스가 selfNumber이면 true를 담는 boolean array 생성
//Arr의 값을 전부 true로 초기화 for(int i = 1; i < selfNumberArr.length; i++) { selfNumberArr[i] = true; }
//1~10000을 돌면서, selfNumber이면 false로 값 변경 for(int i = 1; i < selfNumberArr.length; i++) { if(d(i)<DEFAULT_MAX+1) selfNumberArr[d(i)] = false; }
//selfnumber 출력 for(int i = 1; i < selfNumberArr.length; i++) { if(selfNumberArr[i] == true) System.out.println(i); }
} static int d (int n) { String nString = Integer.toString(n); String[] splitnStrings = nString.split("");
int sum = n; for(int i = 0; i < splitnStrings.length; i++) { sum += Integer.parseInt(splitnStrings[i]); } return sum; }
}
- 박창훈
- 4673 : 셀프 넘버
public class Main { public static void main(String[] args) { int list[] = new int[10000];
//1부터 10000까지 list 생성 for(int i=0;i<list.length;i++) { list[i] = i + 1; } int count = list.length;
//셀프 넘버가 아닌 숫자 구하기 및 그 숫자를 list에서 제거 for(int i=1;i<=10000;i++) { int notSelfNum = 0; int a = 1; int times = 0;
//i의 자릿수 판단 while( i/a != 0 ) { a *= 10; times++; } int n = times;
//각 자릿수 더하기 for(int j=0; j<times; j++) { if(n>1) { notSelfNum += ((i%Math.pow(10, n))/Math.pow(10, n-1)); n--; } else { notSelfNum += (i%10); } }
//각 자릿수 더한 거에 자기 숫자 더하기 notSelfNum += i;
//만약 notSelfNum이 list에 포함되어 있다면 제거 for(int j=0;j<count;j++) { if(notSelfNum == list[j]) { for(int k=j;k<count-1;k++) { list[k] = list[k+1]; } count--; } } }
//출력 for(int i=0; i<count; i++) { System.out.println(list[i]); } } }