코딩

· Algorithm
1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 해당 문제는 N * M 행렬이 주어졌을 때, 8 * 8 정사각형으로 잘랐을 때, 자른 정사각형들 영역 중에, 가장 최소로 칸을 색칠하는 값을 구해야 하는 문제입니다. row : N / col : M 으로 했을 때 아래와 같이 체스판을 그릴 수가 있습니다. board[N][M] 8 * 8 의 정사각형으로 잘랐을 때, 나올 수 있는 정사각형 모양의 체스판 중 가장 다시 칠해야 하는 최솟값을 찾으면 됩니다. [0][0] 자리에 B 또는 W 색이 올 수 있기 때..
· Algorithm
27866번: 문자와 문자열 첫째 줄에 영어 소문자와 대문자로만 이루어진 단어 $S$가 주어진다. 단어의 길이는 최대 $1\,000$이다. 둘째 줄에 정수 $i$가 주어진다. ($1 \le i \le \left|S\right|$) www.acmicpc.net 문제 단어 S와 정수 i가 주어졌을 때, S의 i번째 글자를 출력하는 프로그램을 작성하시오. 저는 문자열 함수 인 charAt()를 사용했습니다. package main; import java.util.*; import java.io.*; // The main method must be in a class named "Main". class Main27866 { public static void main(String[] args) throws Exc..
· Algorithm
본 포스팅은 “Do it! 알고리즘 코딩 테스트 자바 편” 의 학습용도입니다. 문제분석하기 질의의 개수가 10만이므로, 질의마다 합을 구하면 안되고, 구간 합 배열을 이용해야 한다. 구간 합 배열이 1차원에서 2차원으로 확장된 것으로 생각하여 구간 합 배열을 어떻게 구성할지 고민하는 것이 이 문제의 핵심이다. 2차원 구간 합 배열은 다음과 같이 정의할 수 있다. 2차원 구간 합 배열 D[X][Y]의 정의 D[X][Y] = 원본 배열의 (0,0) 부터 (X,Y)까지의 사각형 영역 안에 있는 수의 합 1차원 배열 구간 합이 궁금하다면? 백준[11659] - 구간 합 구하기 4 ✏️ 문제분석 수의 개수와 합을 구해야 하는 횟수는 최대 10만 구간마다 합을 매번 계산하면 0.5초 안에 모든 구간 합계산을 끝낼 ..
· Kotlin
내가 풀었던 답 import java.util.Scanner fun main(){ val sc : Scanner = Scanner(System.`in`) var n = sc.nextInt() var sum:Int = 0 for( i in 1..n ){ sum += i } println(sum) } 핵심 : 반복문안에 값을 저장할 수 있는 변수를 계속 갱신시켜줍니다. 문제링크 : www.acmicpc.net/problem/8393 8393번: 합 n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오. www.acmicpc.net
· Kotlin
내가 풀었던 답 import java.util.Scanner fun main(){ val sc : Scanner = Scanner(System.`in`) var rep = sc.nextInt() for( i in 1..rep ){ var a = sc.nextInt() var b = sc.nextInt() println( a + b ) } } 이 문제의 핵심은 반복문 안에 입력을 받는 것입니다. 문제 링크 : www.acmicpc.net/problem/10950 10950번: A+B - 3 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net
· Kotlin
내가 풀었던 답 import java.util.Scanner fun main(){ val sc : Scanner = Scanner(System.`in`) var a = sc.nextInt() for( i in 1..9 ){ println("" + a + " * " + i + " = " + i * a) } } 반복문을 활용한다면 쉽게 풀 수 있었던 문제 문제 링크 : www.acmicpc.net/problem/2739 2739번: 구구단 N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다. www.acmicpc.net
· Kotlin
내가 풀었던 답 import java.util.Scanner fun main(){ val sc : Scanner = Scanner(System.`in`) var h = sc.nextInt() var m = sc.nextInt() if( m - 45 < 0 ){ //분침이 45분보다 작을 때 if( h
· Kotlin
내가 풀었던 답 import java.util.Scanner fun main(){ val sc : Scanner = Scanner(System.`in`) var x = sc.nextInt() var y = sc.nextInt() if(x > 0){ //1 or 4 if(y > 0){ //++ 1사분면 println("1") }else//+- 4사분면 println("4") }else if(x 0 ){ //-+ 2사분면 println("2") }else//-- 3사분면 println("3") }else{ println("y절편") } } 문제 링크 : www.acmicpc.net/problem/14681 14681번: 사분면 고르기 점 (x, y)의 사분면 번호(1, 2, 3, 4..
· Algorithm
문제 링크 : www.acmicpc.net/problem/5585 5585번: 거스름돈 타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사 www.acmicpc.net 풀었던 답 import java.util.Scanner; class Main { public static void main(String[] args) { // TODO Auto-generated method stub int fiveH = 500; int oneH = 100; int fiveT = 50; int ten = 10; int five = 5; int one = 1; ..
runnnerDevHong
'코딩' 태그의 글 목록