전체 글 34

[백준 JAVA] 2292 - 벌집

내 기준 생각보다 어려운 문제였다. 해당 문제를 분석하던 중, 6의 배수로 이루어졌다는 것을 알게 되었지만, 그 후의 로직을 고민하는데 오랜 시간이 걸렸다.계속 고민하다가 정 안되서 살짝 힌트를 보게 되었다. 나의 로직 구현이다1 ~ 7 (6) - 18 ~ 19 (12) - 220 ~ 37 (18) - 338 ~ 61(24) - 425일 때,1. 62 123 184 24 문제 분석했지만, 중간에 포기한 것을 볼 수 있다. 힌트를 보니, 최솟값을 염두해두고 로직을 짜는 것을 보았다. [최종코드]import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReade..

SML - Search Match Link

Introduction 현직자들의 조언을 구하고 싶거나 창업을 준비하면서 다양한 인맥을 구축하고 싶은가요? SML은 이러한 니즈를 가진 여러분을 위해 탄생한 비즈니스 네트워킹 서비스입니다. 이 플랫폼은 여러분의 현재 인맥을 바탕으로, 그들의 인맥까지 소개받을 수 있도록 도와줍니다. 이를 통해 여러분은 전문가와의 연결을 강화하고, 새로운 기회를 모색하며, 실질적인 조언을 받을 수 있습니다.  SML은 크레딧 기반의 시스템을 도입하여, 사용자가 보다 체계적으로 인맥을 탐색하고 구축할 수 있도록 지원합니다. 여러분은 크레딧을 사용해 일촌의 일촌에게 접근할 수 있으며, 이를 통해 단순한 연결을 넘어서 전문적인 인사이트를 얻을 수 있는 인맥을 형성할 수 있습니다. 이제 SML과 함께, 여러분의 커리어와 사업 아이..

프로젝트/SML 2024.11.28

[백준 JAVA] 2869 - 달팽이는 올라가고 싶다

시간초과에 대해 생각해 보라는 재밌는 문제였다. 3년전에 푼 기억이 있지만, 너무 오래되어서 까먹었다,, 처음 한다는 느낌으로 다시 이 문제를 접하게 되었다. 여기서 중요한 점은 시간 제한이 0.25초인 점이다. 그래서 나는 혹시 몰라 틀린다는 마인드로 시간제한을 생각하지 않은 로직을 짜보았다.while (num  import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenize..

[백준 JAVA] 2720 - 세탁소 사장 동혁

매우 쉬운 문제였다. 나의 로직 구현이다거스름돈은 n순서대로 Q(0.25), D(0.10), N(0.05), P(0.01) 일 때,순서대로 n/Q, n/D, n/N 그 나머지는 p로 계산해서 배열로 반환 그런데 구현을 해보니, 실제 예제에선 소숫점 단위가 아닌, 정수형으로 받기 때문에 나누기도 정수형으로 바꿔야 했다.[최종코드]import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int t = Integer.parseInt(b..

[백준 JAVA] 2536 - 색종이

문제 해석을 제외하면 구현 자체는 쉬운 문제였다. 수학 문제만 보면 울렁증이 올라와 이해가 안 되어 GPT를 통해 문제 해석을 봐버렸다,,  문제를 해석해보니 구현 자체는 매우 쉬웠다. 또한 총배열의 개수가 100*100이기 때문에 시간초과와 메모리 제한은 상관없다고 판단했다! 나의 구현 로직 설명이다.각 좌표의 값을 받아 해당 배열을 기준으로 10*10을 boolean으로 표시입력값에 띄어쓰기가 있으니 StringTokenizer 사용중복되면 continue마지막에 처음부터 끝까지 ture일때 count++ [최종코드]import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws..

[백준 JAVA] 10798 - 세로읽기

생각보다 어렵고 문법 이해를 도와준 고마운 문제이다. 처음에 헤매었던 것은 문자열을 얼마나 받을지가 정해지지 않는다는 점이었다.어떤식으로어떤 식으로 구현을 할까 생각하다가 나의 자바 지식끈이 짧아 다른 문제에서 어떤 식으로 처리하는 지만 참고를 했다. 보통의 사람들은 해당 예제의 열 갯수로 지정했더라. 내가 생각한 로직은 이렇다.이중 for문으로 2차원배열 구현, 띄어쓰기가 없으니 StringTokenizer 사용x모두 입력 받고, 똑같이 이중 for문으로 세로 출력 이 문제 또한 입력값이 매우 작아 시간제한과 문자열 제한은 신경 안 써도 된다고 판단했다. 먼저 내가 구현한 코드이다.import java.io.*;public class Main { public static void main(Stri..

[백준 JAVA] 2566 - 최댓값

2차원 배열에 대해 알아가기 좋은 쉬운 문제였다! 먼저 나의 구현 로직은 이렇다.2차원 배열로 값을 적재함.적재하면서 매 Math.max()를 이용 -> 실제 로직 구현해보니 해당 행렬 반환이 어려워 if문으로 개별 비교 후 적재 먼저 처음 생각한 로직은 Math.max를 이용하는 것이였다. 그런데 막상 구현해보니 해당 함수를 쓴다면 최댓값 행렬 로직을 짜야될지 생각이 나지 않았다. 그래서 간단하게 if문으로 개별 비교한 다음 적재하는 거로 구현했다! 또한 2차원 배열 구조상 이중 for문을 사용하지만, 입력의 수가 매우 적다는 점에서 시간제한과 메모리 제한은 상관 없다고 판단했다. import java.io.*;import java.util.*;public class Main { public st..

[백준 JAVA] 2738 - 행렬 덧셈

2차원 배열 문제를 처음 접근하기 좋은 쉬운 문제였다. 구현 자체는 매우 쉬웠지만, 나는 문제를 잘 이해하지 못해 해석에 대한 시간이 약간 있었다.또한 Stringtokenizer의 활용 정도?? 면 매우 쉽게 풀 수 있는 문제일 거라 생각한다. 해당 문제 로직이 쉽기 때문에 시간제한과 메모리 제한은 신경 안써도 된다고 판단했다. 내가 생각한 구현 로직은 이렇다.n * m 크기니깐 arr[n][m]A와 B행렬이 고정되어있음. 두 행렬을 for문으로 출력하고 합친 값을 배열에 넣어서 출력 [최종 코드]import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException..

[백준 JAVA] 25206 - 너의 평점은

문법을 익숙하게 해준 고마운 문제이다. 이번 문제는 메모리가 매우 넉넉하고 과목이 20개 고정이란 점에서 시간 복잡도와 메모리 초과는 생각 안해도 된다고 판단했다. 내가 생각한 로직이다.배열 형식인 split을 사용tokens[1] -> double형으로 변환tokens[2] -> 문자열 형식에 맞게 double형으로 변환tokens[1] * tokens[2]을 sum에 누적추후 나머지 전공평점을 더해서 나누기 이를 통해 코드를 작성해봤다. mport java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new ..

[백준 JAVA] 1316 - 그룹 단어 체커

해당 문제는 2년전에 푼 문제이기도 하고 쉽게 구현할 수 있는 문제였다. 먼저 나의 큰틀을 주석으로 정리해보았다./** Boolean을 사용, 총 26개의 int형 배열을 선언* 각각의 아스키코드를 사용하여 배열 위치를 지정* 한 번 사용된 문자는 false -> true로 변경* 만약 i - 1이 같은 문자 && 해당 배열이 true이면? -> 넘어감* 만약 i - 1이 같은 문자가 아니며, && 해당 배열이 true이면? -> break** i - 1의 값을 사용하니깐, StirngIndex에러가 안뜨게 조심!* */ 해당 시간과 메모리는 충분하다고 판단해 구현에 제약이 있진 않았다.그리고 나는 Boolean을 사용하여 문제를 풀었다.Boolean을 사용한 이유는 추후 연속되지 않는 중복된 문자를 ..