'알고리즘/백준' 카테고리의 글 목록 (3 Page)
본문 바로가기

알고리즘/백준

(89)
백준1094 - 막대기 - JAVA(이진수 1갯수 세는 함수 알아보기 - bitCount) 안녕하세요 놀이방 사장입니다. 이번 포스팅은 백준 1094번 막대기문제 입니다. 1094번: 막대기 지민이는 길이가 64cm인 막대를 가지고 있다. 어느 날, 그는 길이가 Xcm인 막대가 가지고 싶어졌다. 지민이는 원래 가지고 있던 막대를 더 작은 막대로 자른다음에, 풀로 붙여서 길이가 Xcm인 막대 www.acmicpc.net 막대기 문제는 진짜 코드짜는거는 bitCount함수를 알고 있으면 바로 풀 수 있고 문제를 이해하는데 시간을 많이 사용했습니다. 이 문제는 X의 크기로 만들면 되는 문제이고 X크기를 만들려고 하면 64기준으로 이진수에 1의 갯수를 구하면 되는 문제였습니다. 코드 ) package me.joyeonggyu; import java.io.BufferedReader; import jav..
백준1010번 다리 놓기 - JAVA 안녕하세요 놀이방 사장입니다. 이번 포스팅은 백준 1010번 다리놓기 포스팅입니다. 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다. www.acmicpc.net 이 문제는 조합의 갯수를 구하면 되는 문제인데 그냥 구현하면 시간초과가 납니다.. 저처럼.. 시간 초과 나는 코 package me.joyeonggyu; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.BufferedWriter; import java.io.OutputStreamWrit..
백준[1032] 명령 프롬프트 - JAVA 안녕하세요 놀이방 사장입니다. 이번 포스팅은 백준 1032번 명령프롬프트 입니다 1032번: 명령 프롬프트 첫째 줄에 파일 이름의 개수 N이 주어진다. 둘째 줄부터 N개의 줄에는 파일 이름이 주어진다. N은 50보다 작거나 같은 자연수이고 파일 이름의 길이는 모두 같고 길이는 최대 50이다. 파일이름은 www.acmicpc.net 간단하게 문제를 요약하자면 여러개의 파일들이 나오면 (일단 글자수는 똑같습니다) sql 와일드카드처럼 아무 글자나 들어올 수 있으면 ? 이 문자가 꼭 들어가야한다면 그 문자를 출력하면 되는 문제입니다. 코드) package me.joyeonggyu; import java.io.BufferedReader; import java.io.InputStreamReader; import ..
[1018]백준 - 체스판 다시 칠하기 - JAVA 안녕하세요 놀이방 사장입니다. 이번 포스팅은 백준 1018 체스판 다시 칠하기 포스팅입니다. 완전 탐색, 브루트포스 문제입니다. 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 이 문제는 N, M이 주어지면 이 체스판에서 8*8로 밑에 사진처럼 만들어주면 됩니다. WBWB 이런식으로 해도 무방합니다. 8 8 이 넘을경우 특정 부분을 떼서 최소의 수로 저렇게 만들어주면 됩니다. package me.joyeonggyu; import java.io.BufferedReader; import java.io.In..
[백준]1340 - 연도 진행바 - JAVA 안녕하세요 놀이방 사장입니다. 이번 포스팅은 백준 1340 "연도 진행바" 입니다. 1340번: 연도 진행바 평년일 때, 각 달은 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31일이 있다. 윤년에는 2월이 29일이다. 윤년은 그 해가 400으로 나누어 떨어지는 해 이거나, 4로 나누어 떨어지면서, 100으로 나누어 떨어지지 www.acmicpc.net 입력값으로 한 해 중 한 날짜가 나오고 해당 하는 한 해가 몇 %진행되었는지 구하면 되는 문제입니다. package me.joyeonggyu; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; impo..
[백준]1312 - 소수 - JAVA 안녕하세요 놀이방 사장입니다. 이번 포스팅은 백준 1312번 "소수" 자바입니다. 1312번: 소수 피제수(분자) A와 제수(분모) B가 있다. 두 수를 나누었을 때, 소숫점 아래 N번째 자리수를 구하려고 한다. 예를 들어, A=3, B=4, N=1이라면, A÷B=0.75 이므로 출력 값은 7이 된다. www.acmicpc.net 문제는 정말 간단합니다. A를 B로 나누었을 때 소수점 아래 N번쨰 자리수까지 구하면 됩니다. package me.joyeonggyu; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; impor..
백준 1308 D-day 자바 풀이 안녕하세요 놀이방사장입니다. 이번 포스팅은 백준 1308 D-day 포스팅 자바 풀이입니다. 1308번: D-Day 첫째 줄에 오늘의 날짜가 주어지고, 두 번째 줄에 D-Day인 날의 날짜가 주어진다. 날짜는 연도, 월, 일순으로 주어지며, 공백으로 구분한다. 입력 범위는 1년 1월 1일부터 9999년 12월 31일 까지 이다. www.acmicpc.net 현재날짜부터 D-day를 입력으로 주면 이 두 날짜의 차이를 출력하면 된다. 근데 이 두 날짜의 차이가 1000년이 넘을 시 gg를 출력한다. 먼저 처음에는 자바에서 제공하는 LocalDate와 LocalDateTime , Period를 이용해서 풀려고 했는데 윤년때문에 계산이 틀려짐 package me.joyeonggyu; import java.io..
백준[1251] 단어나누기 - 자바(JAVA) 안녕하세요 놀이방 사장입니다. 이번 포스팅은 백준 1251 "단어 나누기" 포스팅입니다. 1251번: 단어 나누기 알파벳 소문자로 이루어진 단어를 가지고 아래와 같은 과정을 해 보려고 한다. 먼저 단어에서 임의의 두 부분을 골라서 단어를 쪼갠다. 즉, 주어진 단어를 세 개의 더 작은 단어로 나누는 것이다 www.acmicpc.net 단어나누기는 브루트포스 알고리즘을 사용해야합니다. 저도 몰라서 다른 분꺼 보고 풀었습니다. 단어를 세개로 쪼개야하더라구요 애초에 여기부터 계속 이해가 안갔습니다. 근데 코드를 보고 아 이런 문제라는 걸 이해했음.. 보면 a,b => 단어를 끊는 부분 그렇게 단어를 3개로 자르고 자른 3개를 거꾸로 정렬해줍니다. 그 후에 붙여주고 List에 담아준 다음 sort하고 첫번쨰 인덱..
백준11650 - 좌표정렬 안녕하세요 놀이방사장입니다. 이번 포스팅은 백준 11650 "좌표정렬"입니다. 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 예전에 풀었던 단어 정렬이랑 비슷한 문제입니다. 이번에는 첫번째 숫자를 비교하고 같을시 두번째 숫자를 비교해주면 되는 문제입니다. 코드는 package me.joyeonggyu; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.Buffere..
[1436]백준 - 영화감독 숌 - JAVA 안녕하세요 놀이방 사장입니다. 이번 포스팅은 백준 1436번 영화감독 숌입니다. 1436번: 영화감독 숌 666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워 www.acmicpc.net 완전탐색, 브루트 포스 문제입니다. 이번 문제는 빨간색으로 줄 친 부분을 잘 보시면 됩니다. 일단 6이 3개이상으로 이어져야합니다. 처음에 저는 이걸 놓쳐서 계속 오답처리 되었습니다. 제일 작은 N번쨰 종말의 수를 출력하면 됩니다. 코드) package me.joyeonggyu; import java.io.IOException; import java.io.BufferedReader..