Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

새싹교실/2022/Java보시던지/05.05: Difference between revisions

From ZeroWiki
No edit summary
(Refined conservative live-site repair pass after MoniWiki migration)
Tag: Manual revert
 
(8 intermediate revisions by 2 users not shown)
Line 19: Line 19:
* [[임지민]]
* [[임지민]]
** 백준 4673 셀프넘버
** 백준 4673 셀프넘버
class Main {
class Main {


public static void main(String[] args) {
public static void main(String[] args) {
final int DEFAULT_MAX = 10000;
final int DEFAULT_MAX = 10000;
boolean[] selfNumberArr = new boolean[[DEFAULT_MAX+1]]; //인덱스가 selfNumber이면 true를 담는 boolean array 생성  
boolean[] selfNumberArr = new booleanDEFAULT_MAX+1; //인덱스가 selfNumber이면 true를 담는 boolean array 생성  
//Arr의 값을 전부 true로 초기화
//Arr의 값을 전부 true로 초기화
Line 56: Line 57:
}
}


* [[박창훈]]
* 박창훈
** 이 부분에 작성해주세요
** 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&#91;i&#93; = 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&#91;j&#93;) {
for(int k=j;k<count-1;k++) {
list&#91;k&#93; = listk+1;
}
count--;
}
}
}
//출력
for(int i=0; i<count; i++) {
System.out.println(list&#91;i&#93;);
}
}
}

Latest revision as of 00:48, 29 March 2026

회고

임지민

난이도

수업내용

질의응답

새롭게 배운 내용
  • 스트링 배열 안의 값을 사용할때는 .equals()!!
  • import는 사용관계
  • extends는 상속
  • 형변환
    • 없는걸 채워넣는것은 불가능
    • 탈을 쓴다고해도 본질자체는!
느낀점/건의사항

오늘 수업도 수고하셨습니당 편하게 질문할 수 있어서 좋았습니다!

과제

class Main {

public static void main(String[] args) { final int DEFAULT_MAX = 10000; boolean[] selfNumberArr = new booleanDEFAULT_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] = listk+1; } count--; } } }

//출력 for(int i=0; i<count; i++) { System.out.println(list[i]); } } }