본문 바로가기

java29

[백준 21608번] 상어 초등학교 (JAVA) https://www.acmicpc.net/problem/21608 21608번: 상어 초등학교 상어 초등학교에는 교실이 하나 있고, 교실은 N×N 크기의 격자로 나타낼 수 있다. 학교에 다니는 학생의 수는 N2명이다. 오늘은 모든 학생의 자리를 정하는 날이다. 학생은 1번부터 N2번까지 번호 www.acmicpc.net 문제 N*N크기의 교실에 N^2명의 학생들이 자리를 정하려고 한다. 자리를 정하는 학생의 순서와, 그 학생들이 좋아하는 학생의 번호가 주어진다. 한 칸에는 학생 한 명의 자리만 있을 수 있고, |r1 - r2| + |c1 - c2| = 1을 만족하는 두 칸이 (r1, c1)과 (r2, c2)를 인접하다고 한다. 주어진 조건은 이렇다 1. 비어있는 칸 중에서 좋아하는 학생이 인접한 칸에 .. 2022. 4. 5.
[프로그래머스] 불량 사용자 (JAVA) https://programmers.co.kr/learn/courses/30/lessons/64064 코딩테스트 연습 - 불량 사용자 개발팀 내에서 이벤트 개발을 담당하고 있는 "무지"는 최근 진행된 카카오이모티콘 이벤트에 비정상적인 방법으로 당첨을 시도한 응모자들을 발견하였습니다. 이런 응모자들을 따로 모아 불량 programmers.co.kr 문제 비정상적인 방법으로 당첨을 시도한 응모자들을 골라내기 위해 불량 사용자 목록에 들어갈 수 있는 응모자 아이디의 경우의 수를 구하는 문제입니다. 응모자 아이디가 user_id로 주어지고, 불량 사용자 아이디 목록이 banned_id로 주어집니다. 주어진 예시로 살펴보면 응모자 아이디와 불량 아이디 목록이 이렇게 주어질 것입니다. '*'는 문자 하나에 해당합니.. 2022. 4. 2.
[백준 11000번] 강의실 배정 (JAVA) https://www.acmicpc.net/problem/11000 11000번: 강의실 배정 첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (0 ≤ Si < Ti ≤ 109) www.acmicpc.net 문제 수강신청의 마스터 김종혜 선생님에게 새로운 과제가 주어졌다. 김종혜 선생님한테는 Si에 시작해서 Ti에 끝나는 N개의 수업이 주어지는데, 최소의 강의실을 사용해서 모든 수업을 가능하게 해야 한다. 참고로, 수업이 끝난 직후에 다음 수업을 시작할 수 있다. (즉, Ti ≤ Sj 일 경우 i 수업과 j 수업은 같이 들을 수 있다.) 수강신청 대충 한 게 찔리면, 선생님을 도와드리자! 입력 첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,.. 2022. 4. 1.
[백준 2675번 ː 자바(JAVA)] 문자열 반복 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 import java.util.*; public class Baekjoon2675 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); for(int i=0; i 2020. 7. 14.
[백준 10809번 ː 자바(JAVA)] 알파벳 찾기 import java.util.*; public class Baekjoon10809 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); char[] alphabet = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'}; int[] count = new int[26]; String s = sc.nextLine(); for(int i=0; i 2020. 7. 14.
[백준 2444번 ː 자바(JAVA)] 별 찍기 7 import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); for(int i=0; i0; j--) { System.out.print(" "); } for(int k=n-1; k 2020. 7. 14.
[백준 5565번 ː 자바(JAVA)] 영수증 import java.io.*; public class Baekjoon5565 { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); for(int i=0; i 2020. 7. 9.
[백준 5597번 ː 자바(JAVA)] 과제 안 내신 분...? 문제 X대학 M교수님은 프로그래밍 수업을 맡고 있습니다. 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있습니다. 교수님이 내준 특별과제를 28명이 제출했는데, 그 중에서 제출 안 한 학생 2명의 출석번호를 구하는 프로그램을 작성하세요. import java.util.*; public class Baekjoon5597 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int[] student = new int[31]; for(int i=1; i 2020. 7. 9.
[알고리즘] 재귀 함수(Recursive Function) 재귀 함수란? 함수 내에서 자신을 다시 호출하여 반복 작업을 수행하는 방식의 함수 함수 내에 같은 이름의 함수가 오는 것 재귀 함수(알고리즘)의 조건 무한 루프로 인해 stackoverflow가 되는 것을 방지하기 위해 종료 조건을 꼭 포함해야 된다. 기본 구성 Basecase : 종료 조건 Recursive case : 자신을 호출하는 함수를 포함하는 부분 재귀 함수를 이용할 수 있는 유형 Factorial (팩토리얼, n!) X의 n승 구하기 피보나치 수열 유클리드 호제법 (최대공약수) 장점 코드 길이와 변수가 적어져서 가독성이 높아진다. 변수 사용을 줄여 준다. (mutable state를 제거하여 프로그램 오류가 발생할 수 있는 가능성을 줄여준다.) 단점 메모리를 많이 차지한다. (함수를 반복적으.. 2020. 6. 18.