본문 바로가기

전체 글126

[백준/Java] 단계별로 풀어보기 7단계 2차원 배열 풀이 (2738 행렬 덧셈 / 2566 최댓값 / 10798 세로읽기 / 2563 색종이) 2738 행렬 덧셈 (자바8 200ms)import java.io.*;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int N = Integer.parseInt(st.nextToken()); int M = Integer.parseInt(st.nextToken()); .. 2025. 1. 28.
[Java] 접근제어자 접근 제어자(access modifier)변수나 메서드의 사용 권한을 설정할 때 사용예시와 함께 알아보기패키지 ex01.SmartPhone, Main 이렇게 SmartPhone이라는 클래스를 만들고,  메인에서 사용을 하려면 cpu는 접근이 불가능하다는 것을 알 수 있다. 이는 cpu에 private가 붙어서 그런것이다.그 외에 public이나 아무것도 붙어있지 않은 것은 사용이 가능하다.그렇다면 다른 패키지에 Main을 만들어보면 어떨까? 아래는 패키지 ex02.Main에서 동일한 코드를 작성한 모습이다. public이 붙어있는 sd카드를 제외하고 powerButton은 사용이 불가능한 모습을 볼 수 있다.public이 안붙어있으므로 사용이 불가능하다.접근 제어자는 private  순으로 접근 허용이 .. 2025. 1. 28.
[백준/Java] 2941 크로아티아 알파벳 / 25206 너의 평점은 (백준 단계별로 풀기 6단계 심화1) 백준 단계별로 풀기 6단계 - 심화1후다닥 간단하게 푼 문제들만 모아보았다.자바8과 자바 11을 통해 풀어보았다.2941 크로아티아 (자바8 68ms / 자바11 104ms)  ✏️ 자바 코드크로아티아 알파벳중 H는 없길래 H로 치환해버렸다.import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String[] croatia = {"c=","c-","dz=","d-","lj","nj","s=","z="}; Strin.. 2025. 1. 23.
[백준/Java] 1157 단어공부 (가장 많이 사용된 알파벳 출력하기) ⭐️ 1157 단어공부(자바8 276ms, 자바11 392ms) 접근을 잘못했는지..나는 이 문제가 제일 오래 걸리고 어려웠다.그리고 결과 시간도 제일 처참.. 그냥 가장 많이 사용된 알파벳이 무엇인지 출력하는 코드를 구현하면 된다.✏️ 문제 풀이set으로 문자열의 중복을 제거해서이 단어들만 for문을 돌면서 비교해야겠다. 싶었다. 그리고 몇번 나오는지 count하는 배열 만들어서 거기 담고,제일 큰 인덱스의 단어만 출력하도록했다. 그리고 만약 똑같이 최댓값을 가지는 단어가 있는 경우에는이것을 체크해서 ?를 출력하도록 하였다. 내가 짠 코드는 이러하다.제일 위가 가장 많이 나온 문자 결과값이고,가운데가 문자가 몇번 나왔는지 count해서 담은 배열제일 아래가 그 count값의 단어이다. 사실 시간 단축.. 2025. 1. 23.
[백준/Java] 1316 그룹 단어 체커 1316 그룹 단어 체커 (자바8 68ms, 자바11 108ms) 문제 이해가 안되었다.대체 단어 N개를 입력받는거랑 뭔상관이지?✏️ 문제 해설N개의 입력받은 단어중에서, “그룹단어”가 몇개인지 찾는 문제이다.💡 그룹단어란?단어에 존재하는 모든 문자에 대해, 각 문자가 연속해서 나타나는 경우를 말한다.abc ⇒ a,b,c가 연속해서 나타나므로 그룹단어.aba ⇒ a,b가 나온 다음 또 a가 나타나므로 그룹단어 아님.aab ⇒ aa,b 즉, a,b가 연속해서 나타나므로 그룹단어.happy ⇒ h,a,p,y가 연속해서 나타나므로 그룹단어.즉 위에서 그룹단어는 3개이다.✏️ 문제 풀이💭 나의 생각:기준 문자를 하나 잡고, 반복문을 돌면서기존문자와 동일한 문자가 바로 옆이 아니라 뜬금없는 인덱스에 존재한다면.. 2025. 1. 23.
[백준/Java] 2444 별 찍기 -7 / 별찍기 심화 풀이과정 ⭐️우와 벌써 블로그 100번째 포스팅이다열심히 달려왔군난 개인적으로 심화 1단계 문제중에이 문제에 시간을 많이 쏟았기 때문에..포스팅을 따로 뺐다. 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력제일 긴 놈의 길이가 2×N-1 이다. 💣 처음 문제 접근 방식 (안읽어도됨)처음에는 2N-1만큼의 자리를 만들어놓고가운데 *을 기준으로 반띵한다.*기준으로 왼쪽은 replace로 차근차근 공백자리에 *을 하나씩 채워주고,*기준으로 오른쪽 부분은 *을 하나씩 채워주면 되겠지!했는데 안되는것이다.... 내가 코드를 잘 못 짠걸수도 있음. 그래서 아 어카지.. 어카지 하다가 💣 다시 읽고 생각해봄일단 별이 증가하는 수가 "홀수"이다.1->3->5->7->.. 이렇게 증가한다.이건 알고 있었다.그리고 공백을.. 2025. 1. 22.