백준

문제 제약조건 메모리 제약 입/출력 문제 분석뭔가 배열을 만들어서 모든 경우의 수를 다 찾아야하는 문제인줄알고 한참을 이것저것 생각해보았었다...별 생각을 다해도 생각이 안나서 검색을 해보다가, 해당 문제가 애드 혹 알고리즘이란 것을 알게되었다.정형화된 알고리즘이 아닌 창의력을 발휘해서 푸는 문제....이런 생각을 가지고 문제를 보다보니까 그냥 위에서부터 행별로 구역을 나누면 되는게 아닌가? 라는 생각이 스쳐지나갔다. 풀이import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader bf = new BufferedRe..
문제 입력 출력 문제 분석입력을 아래와같이 세개를 받음a, b, c 그러면 결과값은 (ab) *c 로 단순 계산하면 될 것 같다.(여기서 ab는 그냥 문자 그대로 이어 붙임) 풀이import java.util.HashMap;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Main { public static void main(String[] args) throws IOException { String[] colorList = {"black", "brown", "red", "orange", "yellow", "green", "blue", "violet",..
문제 입력 출력 문제 분석1. 모든 문자열을 배열에 담기2. 각 문자열들의 자리들을 비교   - 만약 같지 않다면 => "?"   - 같고 "." 이라면 => "."                  아니면 => 비교중인 알파벳 풀이import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Main { public static void main(String[] args) throws IOException { // https://www.acmicpc.net/problem/1032 InputStreamReader inputStreamReader = new I..
문제입력 출력  문제 분석가장 작은 숫자를 만들기 위해서는 ***00 부터 하나하나 증가되는 방식이다.1. ***00 으로 몫을 구함2-1. ***00 의 나머지가 0 => 해당 숫자가 나눠진다!2-2. ***00 의 나머지가 0 이 아님 => (해당 몫 + 1)*F 를 하면 원하는 값중 가장 작은 값이다. 풀이import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Main { public static void main(String[] args) throws IOException { // https://www.acmicpc.net/problem/1075 ..
문제 입/출력 문제 분석문제를 보는동안 두가지 방법이 떠올랐다.첫번째는 연산을 하면서 10으로 나눠서 연산하는 방법두번째는 모든 숫자들은 거듭제곱을 진행하면 반복되는 일의자리 숫자가 발생하게 된다.ex) 3^1 = 3, 3^2 = 9, 3^3, 3^4 = 7, 3^5 = 1, 3^6 = 3이 부분으로 특정 제곱의 순서로 판단할 수 있을것으로 예상 단순 구현문제로 생각해서 일단 첫번째로 진행하기로함 테스트코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Main { public static void main(String[] args) throws IOException {..
문제  분석시간복잡도에 대해서는 아래와같이 알고 있었다.빅-오메가 : 최적의(Best Case) 인 경우의 연산 횟수를 나타낸 표기법빅-세타 : 보통일때(Average Case) 인 경우의 연산 횟수를 나타낸 표기법빅-오 : 최악일때(Worst Case) 인 경우의 연산 횟수를 나타낸 표기법 일반적으로 알고리즘 문제풀이는 빅오계산법을 사용한다고 알고있다.다만.....해당 문제를 여러번 읽어봐도 어떻게 풀어야하는지 감이 오지 않았다... 독해력 부족으로 검색을 해보니 문제의 알고리즘에서 걸리는 시간복잡도의 차수 O(n) 에 들어가는 "n" 을 구하는 문제였다.  MenOfPassion(A[], n) { i = ⌊n / 2⌋; return A[i]; # 코드1}해당 알고리즘에서는 반복을 진행하지 ..
문제   분석- 10진수를 b로 나눈 나머지를 쌓는다.- 0~9를 제외한 나머지들을 아스키로 변환- 거꾸로 반환  테스트 코드1package backjun.bronze;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String s = br.re..
문제   분석1. 제한시간 1초 => 약 1억번만 계산 해야됨2. ZZZZZ => (Z*36^4) + (Z*36^3)... + (Z*36^0)    => 각 위치의 값 * binary^자리 의 합으로 계산하면 될듯...!  테스트 코드 1import java.util.HashMap;import java.util.Scanner;public class BinaryScale { public static void main(String[] args) { // Scanner 생성 Scanner sc = new Scanner(System.in); String[] text = sc.nextLine().split(" "); String num = text[0]; ..
LIST
jjuni_96
'백준' 태그의 글 목록