전체 글

전체 글

    [백준] 7569 토마토, 자바

    7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net 문제 간단 설명 H개의 층에 N x M 사이즈의 상자에 익은토마토, 안익은 토마토, 빈공간이 있습니다. 익은토마토는 하루의 시간동안 인접한 여섯방향 상하좌우앞뒤 방향에 존재하는 안익은 토마토를 익게 만들 수 있습니다. 그렇다면 몇일이 지나야 상자안에 있는 모든 토마토를 익게 만들 수 있는지 구하시오. 모든 토마토를 익게 만들 수 없다면 -1을 반환 하면 됩니다. 문제 풀이 생각을 하는 것이 크게 어려운 문제는 아니었던 것 같습니다. 일단 ..

    [프로그래머스] 숫자 문자열과 영단어, 자바

    [프로그래머스] 숫자 문자열과 영단어, 자바

    프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 간단 설명 오른쪽의 one4seveneight 과 같은 문자열이 주어졌을 때 이를 순수한 숫자로 변경하는 문제입니다. 풀이 문제의 요구사항을 그대로 구현하면 되는 구현 문제였습니다. import java.util.*; class Solution { public int solution(String s) { int answer = 0; //숫자로 변환을 시켜주기 위한 재료로 map에 각각 담아놓습니다. HashMap map = new HashMap(); map.put("zero", 0); map.put("o..

    [백준] 1927 최소 힙, 자바

    1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 문제 간단 설명 이 문제는 제목처럼 최소 힙이라는 자료구조를 사용하는 해결 방법인 문제입니다. 저는 최소 힙의 역할을 해줄 수 있는 우선순위 큐(Priority Queue)를 이용하여 간단하게 풀이 하였습니다. 풀이 Java에서 제공하는 라이브러리인 Priority Queue를 이용하여 문제에서 주어진 그대로 사용하였습니다. 코드 package com.baekjoon.silver; import java.io.BufferedReader; imp..

    [백준] 1764 듣보잡, 자바

    1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net 문제 간단 설명 듣도 못한 사람 명단, 보도 못한 사람의 명단이 주어집니다. 각각의 명단에는 중복된 이름이 존재하지 않으며 두가지 명단에 모두 포함된 사람의 수를 구하고, 해당 사람들의 명단을 사전순으로 출력합니다. 풀이 입력 조건에 주어진 듣도 못한 사람 명단, 보도 못한 사람 명단의 수가 500,000 이하의 자연수라고 주어졌습니다. 그렇기 때문에 단순히 이중 포문으로 두가지 리스트를 비교하는 방법은 시간 초과가 날 것이 분명했습니다. (500,000*50..

    ssafy 8기 1학기 수료 후기

    ssafy 8기 1학기 수료 후기

    7월부터 시작한 ssafy 8기의 1학기가 끝이 났다. 다들 하는 말이 너무 시간이 빠르다는 말 밖에 없는 것 같다. 나 역시도 1학기의 후반에 들어서며 매우 시간이 빠르게 갔다는 생각밖에 안 들었다. java와 html, css, javascript부터 spring, vue까지 뭔가 빡빡하게 배운 느낌이지만 결국 본인이 얼마큼 하느냐에 따라서 얼마나 배워가는지는 달라지는 것 같다. 그리고 ssafy를 진행하며 보게 되는 삼성 SW 역량 테스트 A형(모의) 도 두 번만에 취득을 하였는데, 운이 좋았던 것 같기도하고,, 하지만 그래도 알고리즘 실력이 전보다는 확실히 늘었다고 말할 수 있다. 그래도 다른 잘하는 사람들에 비하면 너무 부족하기에 이번 방학기간에 열심히 달려볼 예정이다. 사실 올해 안에 취업을 ..

    [백준] 13460 구슬 탈출 2, 자바

    13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net 백준의 삼성 SW 역량 테스트 기출 문제 문제집에 포함된 문제입니다. 주로 빡센 구현 문제를 내는 삼성 SW 역량 테스트 문제인 만큼 어려운 알고리즘 보다는 정확한 구현을 하는 문제였던 것 같습니다. 문제를 읽어보면 구슬을 최대 10번 이동시켜보고 그 이상의 횟수가 필요하다면 -1 을 반환하라고 나타나 있습니다. 그렇기 때문에 최악의 경우의 수가 4^10 정도라고 생각이 되었고, 2초의 시간 제한을 가진 문제였기에..

    [백준] 10989 자바

    10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 백준 브론즈1 문제입니다. 최대 10,000,000개의 데이터를 입력받아 정렬하여 출력하는 문제입니다. 데이터의 개수가 많으므로 Scanner를 이용한 입력이 아닌 BufferedReader를 이용한 입력을 받았고, 출력도 StringBuilder를 생성해서 한 번에 하였습니다. 2751번 문제와 똑같은 코드로 해결할 수 있었습니다. import java.io.*; import java.util.*; public class Main { public static void main(St..

    [백준] 2751 자바

    2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 백준의 실버5 문제입니다. 이전에 풀었던 2750문제와 내용은 같지만 입력에 주어질 수 있는 수의 범위가 많이 증가했습니다. 그렇기 때문에 이전의 코드로 시도를 해봤지만 시간초과가 나타나게 됩니다. import java.util.*; public class Main { public static void main(String args[]){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[..