분류 전체보기
[프로그래머스] 키패드 누르기(Python)
문제설명 스마트폰 전화 키패드의 각 칸에 다음과 같이 숫자들이 적혀 있습니다. 이 전화 키패드에서 왼손과 오른손의 엄지손가락만을 이용해서 숫자만을 입력하려고 합니다. 맨 처음 왼손 엄지손가락은 * 키패드에 오른손 엄지손가락은 # 키패드 위치에서 시작하며, 엄지손가락을 사용하는 규칙은 다음과 같습니다. 엄지손가락은 상하좌우 4가지 방향으로만 이동할 수 있으며 키패드 이동 한 칸은 거리로 1에 해당합니다. 왼쪽 열의 3개의 숫자 1, 4, 7을 입력할 때는 왼손 엄지손가락을 사용합니다. 오른쪽 열의 3개의 숫자 3, 6, 9를 입력할 때는 오른손 엄지손가락을 사용합니다. 가운데 열의 4개의 숫자 2, 5, 8, 0을 입력할 때는 두 엄지손가락의 현재 키패드의 위치에서 더 가까운 엄지손가락을 사용합니다. 4-..
[프로그래머스] 소수 만들기(Java/Python)
문제 설명 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수를 완성해주세요. 제한사항 nums에 들어있는 숫자의 개수는 3개 이상 50개 이하입니다. nums의 각 원소는 1 이상 1,000 이하의 자연수이며, 중복된 숫자가 들어있지 않습니다. 전체코드(Java) import java.util.*; class Solution { public static LinkedList box = new LinkedList(); public int solution(int[] nums) { int ans..
[Java] POI로 데이터 엑셀 다운받기
안녕하세요. 개발자 Jindory입니다. 오늘은 POI 라이브러리를 이용해서 엑셀 파일을 내려받는 과정에 대해서 글을 작성해보고자 합니다. 프로그램을 만들다 보면 데이터를 엑셀로 다운받아서 보고 싶은 경우가 생기는데요, 이때 Apache POI를 사용하면 쉽게 엑셀로 데이터를 다운로드 받을 수 있습니다. Apache POI(Poor Obfuscation Implementation)란 Apache POI는 아파치 소프트웨어 재단에 의해 운영되는 오픈소스 프로젝트 입니다. 순수 자바 라이브러리로서 Microsoft Office의 Word, PowerPoint, Excel 형식의 파일을 읽고 쓸 수 있게 해주며 최근의 오피스 포맷인 Office Open XML File Format도 지원해줍니다. Apache..
[백준] 17140번 : 이차원 배열과 연산(Python)
문제 크기가 3×3인 배열 A가 있다. 배열의 인덱스는 1부터 시작한다. 1초가 지날때마다 배열에 연산이 적용된다. R 연산: 배열 A의 모든 행에 대해서 정렬을 수행한다. 행의 개수 ≥ 열의 개수인 경우에 적용된다. C 연산: 배열 A의 모든 열에 대해서 정렬을 수행한다. 행의 개수 0,box[loop])) # 행에 있는 숫자들의 개수를 센다 count = Counter(box[loop]) # 행에 있는 숫자들(중복없는)을 num에 저장한다. num = list(set(box[loop])) # temp에 숫자와 숫자의 개수를 임시로 저장한다. for i in range(len(num)): temp.append([num[i],count[num[i]]]) # 숫자의 개수대로 오름차순 정렬하고 숫자의 개수가..
[백준] 2864번 : 5와 6의 차이(Python)
문제 상근이는 2863번에서 표를 너무 열심히 돌린 나머지 5와 6을 헷갈리기 시작했다. 상근이가 숫자 5를 볼 때, 5로 볼 때도 있지만, 6으로 잘못 볼 수도 있고, 6을 볼 때는, 6으로 볼 때도 있지만, 5로 잘못 볼 수도 있다. 두 수 A와 B가 주어졌을 때, 상근이는 이 두 수를 더하려고 한다. 이때, 상근이가 구할 수 있는 두 수의 가능한 합 중, 최솟값과 최댓값을 구해 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 두 정수 A와 B가 주어진다. (1