코테 32

백준 1406번 에디터 - Java 자바

https://www.acmicpc.net/problem/1406 문제한 줄로 된 간단한 에디터를 구현하려고 한다. 이 편집기는 영어 소문자만을 기록할 수 있는 편집기로, 최대 600,000글자까지 입력할 수 있다.이 편집기에는 '커서'라는 것이 있는데, 커서는 문장의 맨 앞(첫 번째 문자의 왼쪽), 문장의 맨 뒤(마지막 문자의 오른쪽), 또는 문장 중간 임의의 곳(모든 연속된 두 문자 사이)에 위치할 수 있다. 즉 길이가 L인 문자열이 현재 편집기에 입력되어 있으면, 커서가 위치할 수 있는 곳은 L+1가지 경우가 있다.이 편집기가 지원하는 명령어는 다음과 같다.L커서를 왼쪽으로 한 칸 옮김 (커서가 문장의 맨 앞이면 무시됨)D커서를 오른쪽으로 한 칸 옮김 (커서가 문장의 맨 뒤이면 무시됨)B커서 왼쪽에..

알고리즘/백준 2024.06.05

백준 1926 번 그림 -자바(Java)

https://www.acmicpc.net/problem/1926 문제어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로로 연결된 것은 연결이 된 것이고 대각선으로 연결이 된 것은 떨어진 그림이다. 그림의 넓이란 그림에 포함된 1의 개수이다.입력첫째 줄에 도화지의 세로 크기 n(1 ≤ n ≤ 500)과 가로 크기 m(1 ≤ m ≤ 500)이 차례로 주어진다. 두 번째 줄부터 n+1 줄 까지 그림의 정보가 주어진다. (단 그림의 정보는 0과 1이 공백을 두고 주어지며, 0은 색칠이 안된 부분, 1은 색칠이 된 부분을 의미한다)출력첫째 줄에는 그림의 개수, 둘째 줄에..

알고리즘/백준 2024.05.10

프로그래머스 미로 탈출 - 자바(java)

https://school.programmers.co.kr/learn/courses/30/lessons/159993 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  최소 거리를 구하는 문제이기 때문에 bfs로 시작지점에서 레버까지의 거리와 레버에서 종료지점까지의 거리를 더하는 방법으로 문제를 풀었다.import java.util.LinkedList;import java.util.Queue;import java.awt.Point;import java.util.Arrays;class Solution { //시작 지점, 출구, 레버 저장하고 // bf..

프로그래머스 2024.05.09

백준 11399번 ATM - 자바(Java)

https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 그리디 알고리즘 문제로 가장 작은 대기 순번 부터 입장한다면 최소한의 시간으로 대기할 수 있다는 점을 알아내어 sort를 한뒤 시간을 앞의 시간을 더하는 for문을 통해 정답을 도출했다. import java.io.BufferedReader; import java.io.IOException; import java.util.Arrays; import java.util.StringTokenizer; public class Main..

알고리즘/백준 2024.04.10

프로그래머스 네트워크 - Java

https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr dfs연습 문제 n개의 컴퓨터가 있을때 컴퓨터 끼리의 연결정보를 담은 2차원 배열이 주어진다. 그때 네트워크의 갯수를 구하는 문제이다. 자기 자신은 항상 0으로 주기 때문에 별다른 처리가 필요하지 않았다. class Solution { //[[1, 1, 0], // [1, 1, 0], // [0, 0, 1]] int answer = 0; public void dfs(int[][] computers..

프로그래머스 2024.04.09

프로그래머스 깊이/너비 우선 탐색(DFS/BFS) 타겟 넘버 - 자바(Java)

https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 깊이 우선 탐색을 사용하여 푸는 문제이다. 배열의 값에 직접 * -1을 할까 하였지만 sum에 -해주거나 +기를 해주며 풀수 있었다. dfs를 오랜만에 어렵긴했지만 얼른 많이 풀어 실력을 쌓아야겠다. class Solution { int answer = 0; //[4, 1, 2, 1]42 public void dfs(int depth, int sum, int[] numbers, int target..

프로그래머스 2024.04.09

프로그래머스 최소직사각형 - 자바(Java)

https://school.programmers.co.kr/learn/courses/30/lessons/86491 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 명함들을 회전시킬수 있기 때문에 가로세로 상관없이 짧은 길이가 앞에 오도록 정렬하면서 가장 큰 값 두개를 가져와 곱하여 답을 구하였다. class Solution { public int solution(int[][] sizes) { //[[60, 50], [30, 70], [60, 30], [80, 40]] //->> [50 ,60], [30, 70], [30, 60], [40, 80]] -> 5..

프로그래머스 2024.04.09

프로그래머스 폰켓몬 - 자바(Java)

https://school.programmers.co.kr/learn/courses/30/lessons/1845 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스의 Hash카테고리에서 첫번째 문제이다. HashSet을 이용하여 종류의 갯수를 알아내 해결하는 방안을 생각했다. import java.util.*; class Solution { public int solution(int[] nums) { //가장 많은 종류의 폰켓몬을 선택하는 방법을 찾아, // 그때의 폰켓몬 종류 번호의 개수를 return //[3,1,2,3] HashSet set ..

프로그래머스 2024.04.08

프로그래머스 가장 많이 받은 선물 - 자바(Java)

https://school.programmers.co.kr/learn/courses/30/lessons/258712 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 머릿속으로 풀려고 하니 너무 헷갈렸다.;; 선물을 준 횟수를 적어둔 map을 만들고 각 끝에는 받은 갯수와 선물을 준 갯수를 카운트 해놓는다. 그 뒤 for문을 돌며 준횟수가 같다면(둘다 0일때도 처리된다.) 지수를 비교한뒤 카운트를 늘리고 i가 더많이 준 경우일때에도 카운트를 늘려 가장 많이 받은 갯수를 저장한다. import java.util.*; class Solution { public ..

프로그래머스 2024.04.08

99클럽 코테 스터디 3일차 TIL 크기가 작은 부분 문자열(int, long의 범위)

https://school.programmers.co.kr/learn/courses/30/lessons/147355 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr t를 p의 길이만큼 잘게 나누어야하기에 substring으로 나누어야 겠다고 생각하였고 전날에 풀었던 문제와 같이 pareInt가 생각 나게 되는 문제였다. 따라서 처음으로 작성하였던 코드는 첫번째 코드 public int solution(String t, String p) { int pInt = Integer.parseInt(p); int answer = 0; for(int i =0;i

프로그래머스 2024.03.31
반응형