일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 백준 2252 줄세우기
- 익명 객체 @transactional
- kotiln const val
- mongodb lookup
- java 1509
- 전략 패턴이란
- go
- 자바 백준 팩토리얼 개수
- Java Call By Refernce
- nodejs rabbitmq
- 백준 특정한 최단 경로
- spring mongodb switch
- ipfs singletone
- 백준 연결요소 자바
- ipfs bean
- java 1238
- rabbitmq 싱글톤
- Spring ipfs
- 자바 1676
- kotiln functional interface
- java 파티
- java 팩토리얼 개수
- spring mongoTemplate switch
- kotiln const
- spring mongodb
- 백준 1504 java
- javav 1676
- 안정해시
- java 백준 1509
- spring mongoTemplate
Archives
- Today
- Total
공부 흔적남기기
백준 4673 셀프넘버 본문
728x90
반응형
import java.io.*;
class Main {
public static void main(String[] args) throws IOException {
int[] selfNumberList = new int[10001];
//1부터 10000까지 확인해줘야 하기 때문에 10001길이의 배열 생성
int i =1;
while(true){
//10001이라면 break
if(i == 10001){
break;
}
//i1의 셀프넘버 확인해주고 10000보다 작다면 1로변경
int i1 = selfNumber(i);
if(i1 <=10000) {
selfNumberList[i1] = 1;
}
i++;
}
//출력
for(int i2 =1; i2<selfNumberList.length; i2++){
if(selfNumberList[i2] == 0){
System.out.println(i2);
}
}
}
//셀프넘버 확인해주는 함수
static int selfNumber(int n){
String tmp = String.valueOf(n);
for(int i =0; i<tmp.length(); i++){
n+= Integer.parseInt(String.valueOf(tmp.charAt(i)));
}
return n;
}
}
과거에 C++로 풀었던 것과 비교
#include <iostream>
#include <vector>
using namespace std;
int d(int num)
{
//굉장히 놀랍다 ^^ 삽을 이렇게나 팠다니
int sum(0);
if ((0 < num) && (num < 10))
sum = num + num;
if ((10 <= num) && (num < 100))
sum = num + (num / 10) + (num % 10);
if ((100 <= num) && (num < 1000))
sum = num + (num / 100) + ((num % 100) / 10) + ((num % 100) % 10);
if ((1000 <= num) && (num < 100000))
sum = num + (num / 1000) + ((num % 1000) / 100) + (((num % 1000) % 100) / 10) + (((num % 1000) % 100) % 10);
return sum;
}
int main()
{
//진짜 꾸역꾸역 열심히 풀은 흔적이...
vector<bool>arr(10001, true);
for (int i = 0; i <= 10000; i++)
{
arr[d(i)] = false;
}
for (int i = 0; i <= 10000; i++)
{
if (arr[i])
{
cout << i << endl;
}
}
}
속도나 메모리 면에서 c++가 확실히 성능이 좋다.
728x90
반응형
'코테 > 백준' 카테고리의 다른 글
백준 1157 단어공부 자바 (0) | 2022.01.20 |
---|---|
백준 2941 크로아티아 알파벳 자바 (0) | 2022.01.20 |
백준 4344 평균은 넘겠지 (0) | 2022.01.19 |
백준 1110 더하기 사이클 (0) | 2022.01.18 |
백준 2884 알람 시계 (0) | 2022.01.18 |