[프로그래머스] [1차] 프렌즈4블록 - Java(자바)
·
자바/코딩테스트
문제 이해2x2 형식의 같은 그림이 나오면 해당 블럭은 터진다.라인별로 터지는게 아니라 곂치는게 존재해도 그 형태가 2x2라면 터지기 때문에 2x3 도 가능 하고 다양한 형태로 터지기 가능하다.한번 다 터지면 터진거 제외한 블럭이 내려오기 때문에 while 로 만들었고 터지는게 한개도 없다면 빠져 나오게 만들었다.블럭의 개수는 30x30 이하이기에 이중for문을 돌려서 해당 좌표의 우측, 아래, 우측 대각선 아래 의 세가지 값이 같다면 터져야할 블럭의 대상으로 check 배열에 true 변경하였다.터진 블럭을 제외하고 아래로 내려야 하기에 터트리고 값들을 stack에 담아 배열 끝부터 채워넣으면서 위와 같은 방식을 반복하게 만들었다.import java.util.*;class Solution { p..
[프로그래머스] [3차] 압축 - Java(자바)
·
자바/코딩테스트
문제 이해 A - Z 까지 대문자 사전이 1 ~ 26까지 색인번호를 가지고 있다. 문자열에서 첫글자 다음글자를 자르고 사전과 비교하였을때 사전에 미존재하면 색인번호를 올려서 새로 추가한다. 사전에 없는 문자가 나올때까지 계속 자른다. 문자열은 1000글자 이하로 이중for문을 사용하였다. map에다 A-Z를 키로 색인번호를 value로 생성, 추가되는 사전단어가 나올때마다 색인번호를 올려서 추가 색인번호가 신규 추가가 되면 기존에 사용한 영문자는 사용하면 안된다. cnt에 사용한 영문자의 수를 체크하여 사용못하게 넘어간다. 영문자 tmp 가 msg의 마지막 영문자를 사용하고 해당 문자열이 키에 존재한다면 문자열의 색인번호를 집어넣고 for문을 끝낸다. import java.util.*; class Sol..
[프로그래머스] [1차]뉴스 클러스터링 - Java(자바)
·
자바/코딩테스트
문제 이해 자카드 유사도를 구하고 65536을 곱한 수를 출력해라 자카드 유사도는 두 배열의 교집합/합집합이다. 문자열을 2글자씩 잘라서 넣는데 영문이 아니라면 그 문자는 삭제한다. 교집합을 구할때는 두 배열을 비교하면서 사용한 index인지 check를 통해 확인후 교집합의 개수를 구한다. double 형태로 자카드 유사도가 나오기 때문에 cnt + 0.0을 함으로 형 변환후 자카드 유사도를 구한다. import java.util.*; class Solution { public int solution(String str1, String str2) { int answer = 0; str1 = str1.toUpperCase(); str2 = str2.toUpperCase(); List str1List = ..
[프로그래머스] [1차] 캐시 - Java(자바)
·
자바/코딩테스트
문제 이해 LRU(Least Recently Used) 알고리즘으로 캐시에 데이터를 할당할때 캐시가 꽉차면 최근에 사용안한 캐시를 지우는 알고리즘이다. 도시의 이름은 대소문자 가리지 않는다. toUpperCase() 사용 캐시를 List 객체를 사용하여 캐시에 같은 도시명이 존재하면 해당 리스트 index 삭제후 맨뒤에 도시 추가 실행시간 +1 리스트에 존재하지 않으면 실행시간 +5 캐시에 데이터가 존재하는지 확인하는 함수 생성 exitsCache(); import java.util.*; class Solution { public int solution(int cacheSize, String[] cities) { int answer = 0; List cache = new ArrayList(); if(ca..
대전집주인
'2018 KAKAO BLIND RECRUITMENT' 태그의 글 목록