Algorithm

    새싹문제 All Clear

    11일만에 새싹 문제를 다 풀었다. 컴퓨터적 사고로서 문제를 해결하기위한, 절차를 나누는 연습의 기초 지식을 얻기 위해, 테스트도 할 겸 문제를 풀었다. 0과 1로만 기록되는 컴퓨터 세계는 컴파일이나 숫자하나 오타하나 전부 허용하지 않는 단호함에 놀랐고, 풀었는데 시간 초과로 막힌 경우 다른 방법도 찾아보고, 문제를 풀고 난 뒤 다른 사람들은 어떻게 풀었는지 보며, 문제 한두개 푼 정도가 아닌 간접적으로 많은 공부가 되었다. 문제 해결을 위한 워밍업은 끝났다. 이제 시작이니 머리를 더 훈련시켜 실전에서 보다 좋은 코드를 짜고 싶다. 힘내서 계속 잘 달려보자 화이팅! 각 알고리즘 풀이는 해당 문제에 있고, 깃허브에 별개로 저장해두었다. https://github.com/LimDongHyun99/algori..

    [백준] 검증수 - 2475 Java[자바]

    [Bronze V] 검증수 - 2475 문제 링크 2475번: 검증수 컴퓨터를 제조하는 회사인 KOI 전자에서는 제조하는 컴퓨터마다 6자리의 고유번호를 매긴다. 고유번호의 처음 5자리에는 00000부터 99999까지의 수 중 하나가 주어지며 6번째 자리에는 검증수가 들 www.acmicpc.net 성능 요약 메모리: 17736 KB, 시간: 204 ms 분류 구현(implementation), 사칙연산(arithmetic), 수학(math) 문제 설명 컴퓨터를 제조하는 회사인 KOI 전자에서는 제조하는 컴퓨터마다 6자리의 고유번호를 매긴다. 고유번호의 처음 5자리에는 00000부터 99999까지의 수 중 하나가 주어지며 6번째 자리에는 검증수가 들어간다. 검증수는 고유번호의 처음 5자리에 들어가는 5개의..

    [백준] 이상한 기호 - 15964 Java[자바]

    [Bronze V] 이상한 기호 - 15964 문제 링크 성능 요약 메모리: 17716 KB, 시간: 208 ms 분류 사칙연산(arithmetic), 수학(math), 구현(implementation) 문제 설명 부산일과학고등학교의 효진이는 수학의 귀재이다. 어떤 문제라도 보면 1분 내에 풀어버린다는 학교의 전설이 내려올 정도였는데, 이런 킹ㅡ갓 효진에게도 고민이 생겼다. 대부분의 문제에서 반복되는 연산이 있었기 때문이다! 이 연산은 너무 길어서 종이에 풀던 효진이는 너무 고통스러워서, 자신이 새로 연산자를 만들기로 했다. 연산자의 기호는 @으로, A@B = (A+B)×(A-B)으로 정의내리기로 했다. 하지만, 효진이는 막상 큰 숫자가 들어오자 계산하기 너무 귀찮아졌다. 효진이를 도와 정수 A, B가 ..

    [백준] 최소, 최대 - 10818 Java[자바]

    [Bronze III] 최소, 최대 - 10818 문제 링크 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 성능 요약 메모리: 318100 KB, 시간: 1768 ms 분류 구현(implementation), 수학(math) 문제 설명 N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,..

    [백준] 입실 관리 - 5524 Java[자바]

    [Bronze IV] 입실 관리 - 5524 문제 링크 5524번: 입실 관리 JOI회사에서는 방에 들어가기 위해 입실 기록을 입력할 때 알파벳으로 이름을 입력한다. 그런데, 컴퓨터에 오류가 나서 대문자 소문자가 섞여버려 입실 기록이 읽기 힘들어졌다. JOI회사의 입실 www.acmicpc.net 성능 요약 메모리: 14092 KB, 시간: 124 ms 분류 문자열(string) 문제 설명 JOI회사에서는 방에 들어가기 위해 입실 기록을 입력할 때 알파벳으로 이름을 입력한다. 그런데, 컴퓨터에 오류가 나서 대문자 소문자가 섞여버려 입실 기록이 읽기 힘들어졌다. JOI회사의 입실 기록을 읽기 쉽게 하기 위해서 기록된 이름을 모두 소문자로 변환하는 프로그램을 작성하라. 단, 입실 기록에는 같은 이름의 사람이..

    [백준] 문자열 - 9086 Java[자바]

    [Bronze V] 문자열 - 9086 문제 링크 성능 요약 메모리: 15800 KB, 시간: 136 ms 분류 구현(implementation), 문자열(string) 문제 설명 문자열을 입력으로 주면 문자열의 첫 글자와 마지막 글자를 출력하는 프로그램을 작성하시오. 입력 입력의 첫 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 10)가 주어진다. 각 테스트 케이스는 한 줄에 하나의 문자열이 주어진다. 문자열은 알파벳 A~Z 대문자로 이루어지며 알파벳 사이에 공백은 없으며 문자열의 길이는 1000보다 작다. 출력 각 테스트 케이스에 대해서 주어진 문자열의 첫 글자와 마지막 글자를 연속하여 출력한다. 답 : 받은 문자열의 수만큼 반복문을 돌려주는데 char의 경우 컴퓨터에 숫자로 저장되기때문에 문자열이라..

    [백준] 학점계산 - 2754 Java[자바]

    [Bronze V] 학점계산 - 2754 문제 링크 성능 요약 메모리: 14280 KB, 시간: 124 ms 분류 구현(implementation), 문자열(string) 문제 설명 어떤 사람의 C언어 성적이 주어졌을 때, 평점은 몇 점인지 출력하는 프로그램을 작성하시오. A+: 4.3, A0: 4.0, A-: 3.7 B+: 3.3, B0: 3.0, B-: 2.7 C+: 2.3, C0: 2.0, C-: 1.7 D+: 1.3, D0: 1.0, D-: 0.7 F: 0.0 입력 첫째 줄에 C언어 성적이 주어진다. 성적은 문제에서 설명한 13가지 중 하나이다. 출력 첫째 줄에 C언어 평점을 출력한다. 답 : 해당 학점에 맞는 케이스를 출력한다. import java.io.BufferedReader; import..

    [백준] 알파벳 찾기 - 10809 Java[자바]

    [Bronze V] 알파벳 찾기 - 10809 문제 링크 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net 성능 요약 메모리: 15908 KB, 시간: 152 ms 분류 구현(implementation), 문자열(string) 문제 설명 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며..

    [프로그래머스] 몫 구하기 - 120805 Java[자바]

    [level 0] 몫 구하기 - 120805 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 성능 요약 메모리: 83.4 MB, 시간: 0.01 ms 구분 코딩테스트 연습 > 코딩테스트 입문 채점결과 정확성: 100.0 합계: 100.0 / 100.0 문제 설명 정수 num1, num2가 매개변수로 주어질 때, num1을 num2로 나눈 몫을 return 하도록 solution 함수를 완성해주세요. 제한사항 0

    [백준] 대소문자 바꾸기 - 2744 Java[자바]

    [Bronze V] 대소문자 바꾸기 - 2744 문제 링크 2744번: 대소문자 바꾸기 영어 소문자와 대문자로 이루어진 단어를 입력받은 뒤, 대문자는 소문자로, 소문자는 대문자로 바꾸어 출력하는 프로그램을 작성하시오. www.acmicpc.net 성능 요약 메모리: 14132 KB, 시간: 120 ms 분류 구현(implementation), 문자열(string) 문제 설명 영어 소문자와 대문자로 이루어진 단어를 입력받은 뒤, 대문자는 소문자로, 소문자는 대문자로 바꾸어 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 영어 소문자와 대문자로만 이루어진 단어가 주어진다. 단어의 길이는 최대 100이다. 출력 첫째 줄에 입력으로 주어진 단어에서 대문자는 소문자로, 소문자는 대문자로 바꾼 단어를 출력한다. 답..

    [백준] 단어 길이 재기 - 2743 Java[자바]

    [Bronze V] 단어 길이 재기 - 2743 문제 링크 성능 요약 메모리: 17640 KB, 시간: 200 ms 분류 구현(implementation), 문자열(string) 문제 설명 알파벳으로만 이루어진 단어를 입력받아, 그 길이를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 영어 소문자와 대문자로만 이루어진 단어가 주어진다. 단어의 길이는 최대 100이다. 출력 첫째 줄에 입력으로 주어진 단어의 길이를 출력한다. 답 : 문자열의 길이 값을 int로 반환하는 length를 활용해 길이를 구해 출력한다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scan..

    [백준] 과제 안 내신 분..? - 5597 Java[자바]

    [Bronze V] 과제 안 내신 분..? - 5597 문제 링크 5597번: 과제 안 내신 분..? X대학 M교수님은 프로그래밍 수업을 맡고 있다. 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있다. 교수님이 내준 특별과제를 28명이 제출했는데, www.acmicpc.net 성능 요약 메모리: 17692 KB, 시간: 208 ms 분류 구현(implementation) 문제 설명 X대학 M교수님은 프로그래밍 수업을 맡고 있다. 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있다. 교수님이 내준 특별과제를 28명이 제출했는데, 그 중에서 제출 안 한 학생 2명의 출석번호를 구하는 프로그램을 작성하시오. 입력 입..