목록알고리즘/Java (5)
NKB's Factory
문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/49994?language=java 코딩테스트 연습 - 방문 길이 programmers.co.kr 접근 방법 일단은 좌표를 [0,0]의 배열로 만들었다. 시작점과 방문 예정인 점을 각각 arrStart와 arrEnd로 선언했고, U,D,R,L에 따라 arrEnd의 값을 변경해줬다. 변경했을 경우, arrStart와 arrEnd를 합쳐서 문자열로 만든 다음, HashSet에 값을 넣어서 방문한 곳은 answer의 값을 증가시키지 않았다. 방문 체크를 한 후에 arrStart의 값을 arrEnd의 값으로 변경해주었다. 방문한 곳을 체크함에 있어서 찾지 못한 부분이 있었는데, arrStart + arrEn..
문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/62049?language=java 코딩테스트 연습 - 종이접기 직사각형 종이를 n번 접으려고 합니다. 이때, 항상 오른쪽 절반을 왼쪽으로 접어 나갑니다. 다음은 n = 2인 경우의 예시입니다. 먼저 오른쪽 절반을 왼쪽으로 접습니다. 다시 오른쪽 절반을 왼쪽�� programmers.co.kr 아직 dfs나 bfs 정도 밖에 풀어보지 않아서 그런지 어떻게 풀어야할지 감을 잡지 못했다. 첫 풀이는 1~3까지의 테스트케이스만 보고 좌우에 0과 1이 늘어나고 늘어나는 개수도 같이 늘어난다고 생각하고 풀었다. 테스트 케이스는 통과했지만, 정답이 아니였다. 다른 사람의 풀이를 보고서야 이 문제가 트리를 활용한..
출처: https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 효과적인 배추흰지렁이를 구입하기로 결심한다. 이 지렁이는 배추근처에 서식하며 해충을 잡아 먹음으로써 배추를 보호한다. 특히, 어떤 배추에 배추흰지렁이가 한 마리라도 살고 있으면 이 지렁이는 인접한 다른 배추로 이동할 수 있어, 그 배추들 역시 해충으로부터 보호받을 수 있다. ( www.acmicpc.net dfs 문제인데 생각보다 간단했다. 코드 실수로 인하여 시간이 오래걸렸다. 실행 순서는 1. 값을 입력 받는다. 2. 좌표를 ..
출처: https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집들의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다. 대각선상에 집이 있는 경우는 연결된 것이 아니다. 는 을 단지별로 번호를 붙인 것이다. 지도를 입력하여 단지수를 출력하고, 각 단지에 속하는 집의 수 www.acmicpc.net dfs가 뭔지는 이해했지만, 확실하게 문제를 풀 때 dfs를 활용한 알고리즘을 설계하는 것은 쉽지 않다. 연습용으로 쉬운 예제를 풀어봤지만, 쉽지는 않았던 ..
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/64065 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 첫 풀이과정 아직 메소드 활용이 부족하다고 느낀다. 문제를 보고 난이도는 어렵지는 않지만, 생각해야하는 케이스가 많다고 생각했다. 순서는 요소의 개수 측정 -> '{' , '}' , ',' 분해 -> 순서 계산 순으로 진행했다. import java.util.*; class Solution { public int[] solution(String s) { String numberString ..