pullwall
Well done! 코딩
pullwall
전체 방문자
오늘
어제
  • 분류 전체보기 (151)
    • 개발환경 (2)
    • java study (21)
    • 백준 단계별 (51)
    • 알고리즘 (3)
    • AI (43)
    • 클라우드 (3)
      • Kubernetes in Google (3)
    • 논문 (5)
    • 리눅스 (1)
    • AWS (4)
    • 수학 (15)
    • 기타 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 정렬
  • 쿠버네티스
  • LLM
  • 자바
  • Java
  • 선택정렬
  • dataset
  • 단계별
  • 논문리뷰
  • 자바독학
  • 정렬알고리즘
  • 수학
  • 백준 단계별
  • 알고리즘
  • Ai
  • pytorch
  • 백준
  • AWS
  • Google
  • Kubernetes

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
pullwall

Well done! 코딩

백준 단계별

[Java] 백준 5597: 과제 안 내신 분..?

2023. 1. 6. 16:24
728x90
더보기

망한코드

28개의 값 중 1이 있는지 , 2가 있는지, 3이 있는지 ... 반복하며 검사하는 알고리즘을 작성하였으나..

무언가 잘못된 듯 함.

import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int[] arr = new int[28];
		List<Integer> list = new ArrayList<Integer>();
		
		for(int i=0;i<28;i++) {
			arr[i] = sc.nextInt();
		}
		
		for(int i=1;i<=30;i++) {
			for(int k=0;k<28;k++) {
				if(i==arr[k]) {
					break;
				}
				else {
					list.add(i);
				}
			}
		}
		
		if(list.get(0)>list.get(1)) {
			System.out.println(list.get(1)+"\n"+list.get(0));
		}
		else {
			System.out.println(list.get(0)+"\n"+list.get(1));
		}
	}
}

 

import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int[] student = new int[31];
		
		for(int i=1; i<29; i++) {
			int success = sc.nextInt();
			student[success] = 1;
		}
		for(int i=1; i<student.length; i++) {
			if(student[i]!=1)
				System.out.println(i);
		}	
		sc.close();
	}
}

있는지 없는지, 맞는지 아닌지 이분법적 사고를 요하는 문제는

Boolean형으로 풀이하는 알고리즘을 생각해 볼 수 있다.

 

28번 차례대로 입력을 받고 입력받은 숫자를 인덱스로 설정하여 1을 저장한다.

만약 2번이 과제를 제출하지 않았다면 인덱스2번에는 쓰레기 값이 들어있게 되므로

값이 1이 아닌 인덱스는 과제를 제출하지 않은 번호가 된다.

728x90

'백준 단계별' 카테고리의 다른 글

[Java] 백준 1546: 평균  (0) 2023.01.10
[Java] 백준 3052: 나머지  (0) 2023.01.10
[Java] 백준 2562: 최댓값  (0) 2023.01.05
[Java] 백준 10871: X보다 작은 수  (0) 2023.01.05
[Java] 백준 10807: 개수 세기  (0) 2023.01.05
    '백준 단계별' 카테고리의 다른 글
    • [Java] 백준 1546: 평균
    • [Java] 백준 3052: 나머지
    • [Java] 백준 2562: 최댓값
    • [Java] 백준 10871: X보다 작은 수
    pullwall
    pullwall

    티스토리툴바