Algorithm

k개의 숫자를 입력받고 그 숫자들을 두번 출력하시오. 입력 예) 2 5 7 출력 예) 5 7 5 7 스캐너를 사용하여 숫자를 입력 받고(k개의 숫자), 입력 받은 숫자만큼의 크기를 가진 배열을 하나 생성한다. 이후 바로 배열의 크기만큼 반복문을 돌려 k개의 숫자를 입력 받고, 정상적으로 입력을 받았다면 이중 반복문(이중 포문)을 사용하여 총 2번 실행할 반복문을 실행시킨다. 총 2번 실행되는 반복문 안에, 배열의 크기만큼 실행될 반복문을 작성하고 배열의 j칸에 들어가 있는 숫자를 사용자에게 출력해준다. 결국, 사용자에게 배열의 내용을 출력해주는 반복문을 하나 만들고 그걸 2번 실행하는 다른 반복문을 작성하여 총 2번 출력되게끔 하는 것이다. package list; import java.util.Scan..
주현이는 5살이라서 아직 기억력이 좋지 않은 편이다. 주현이 엄마는 주현이의 기억력을 향상시키기 위해 매일 훈련을 시킨다. 어느 날, 주현이 엄마는 주현이에게 10개의 숫자를 차례대로 말한 다음 "k번째 숫자는 뭘까요?"하고 물어본다. 이번에는 주현이가 좋아하는 '또봇'이라는 로봇변신 자동차가 상품으로 걸려있다. 주현이가 '또봇'을 가질 수 있도록 프로그래밍하시오. (Exception 상황은 고려하지 않고 주어진 문제에 맞게 풀기만 하였습니다..!) 숫자 10개를 입력 받을 배열을 생성한다. 생성한 intArr의 Length만큼 반복문을 실행하며 차례대로 배열에 입력받은 숫자를 삽입한다. 모든 숫자 입력이 끝나고 알고싶은 k번째 숫자를 입력 받는다. 마지막으로 배열의 k번째 숫자를 사용자에게 출력한다. ..
해답 SELECT SUB.ANIMAL_ID, SUB.NAME FROM ( SELECT A.ANIMAL_ID, A.NAME FROM ANIMAL_INS A, ANIMAL_OUTS B WHERE A.ANIMAL_ID = B.ANIMAL_ID AND B.DATETIME IS NOT NULL ORDER BY B.DATETIME - A.DATETIME DESC) SUB WHERE ROWNUM
데이터의 개수가 n개로 들어오고, 들어온 n개의 데이터를 거꾸로 출력하는 프로그램을 작성하는 문제이다. 우선 일차원 배열 하나를 만들어준다, 이 때 스캐너로 숫자를 하나 입력받아 배열의 크기를 지정해준다. 반복문을 하나 생성하여 배열의 크기만큼 실행시키며 숫자를 입력받아 배열에 하나하나 입력해준다. 반복문이 종료되면 아래에 새로운 반복문을 만들어 역순으로 출력한다. (이게 맞나) package list; import java.util.Scanner; public class Codeup1402 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("입력할 숫자의 갯수를 입력해주세요 : "..
해답 SELECT ANIMAL_ID, NAME, CASE WHEN SEX_UPON_INTAKE LIKE '%Spayed%' THEN 'O' WHEN SEX_UPON_INTAKE LIKE '%Neutered%' THEN 'O' ELSE 'X' END AS 중성화 FROM ANIMAL_INS ORDER BY ANIMAL_ID; 오라클의 CASE 문을 사용하면 풀 수 있는 문제. 프로그래머스의 문제들 Level 이 올라갈 수록 생각 못하고 지나가는것들이 너무 많아서ㅠㅠ 검색을 열심히 하면서 풀고 있다 ㅠ.ㅠ 앞으로는 열심히 푸는것도 중요하지만 잊어버린 것들을 다시 잊어버리지 않게 열심히 정리하는 습관을 들여야겠다!
-- 코드를 입력하세요 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE UPPER(NAME) LIKE '%EL%' AND ANIMAL_TYPE = 'Dog' ORDER BY NAME; 생각을 한번 하게 되는 문제였는데, 문자열 검색을 할 때 대소문자가 확실하지 않을 경우 UPPER, LOWER 를 사용하여 검색하면 원하는 결과를 찾기가 훨씬 수월하다!
정말 쉬운데 어려운 문제다. 해법이 여러개가 있기 때문이다 -- 너무너무 하드한 방식 SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE FROM ANIMAL_INS WHERE NAME LIKE 'Ella' OR NAME LIKE 'Lucy' OR NAME LIKE 'Pickle' OR NAME LIKE 'Rogan' OR NAME LIKE 'Sabrina' OR NAME LIKE 'Mitty' ORDER BY ANIMAL_ID; -- 너무너무 스마트한 방식 SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE FROM ANIMAL_INS WHERE NAME IN('Ella', 'Lucy', 'Pickle', 'Rogan', 'Sabrina', 'Mitty') ORD..
SELECT ANIMAL_TYPE, NVL(NAME, 'No name') NAME, SEX_UPON_INTAKE FROM ANIMAL_INS ORDER BY ANIMAL_ID ASC; NVL 함수를 사용하여 NAME 이 NULL 일 경우 'No name' 을 출력하게 만들어준다. 함수만 알고 있다면 쉽게 풀 수 있는 문제 !
SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL ORDER BY ANIMAL_ID ASC 1번 문제인 이름이 없는 동물의 아이디 문제를 풀었다면 정말 간단하게 'NOT' 을 추가해서 풀 수 있다!
SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NULL ORDER BY ANIMAL_ID ASC 너무너무 쉬운 난이도!
SELECT ANIMAL_ID, NAME, TO_CHAR(DATETIME, 'YYYY-MM-DD') 날짜 FROM ANIMAL_INS ORDER BY ANIMAL_ID; 같은 레벨 2인데 어느거는 진짜 머리를 많이 굴려야하고 이거는 그냥 보자마자 엥? 하면서 너무 쉽게 풀었다. 아닌가.. 다 어려운데 아만보인가 ㅠ.ㅠ 얼마 안됐지만 실무에서 엄청 많이 썼던 쿼리라서 5분도 안돼서 풀었다 케케케
SELECT HOUR, COUNT(*) COUNT FROM (SELECT TO_CHAR(DATETIME, 'HH24') HOUR FROM ANIMAL_OUTS) HAVING HOUR >= 9 and HOUR < 20 GROUP BY HOUR ORDER BY HOUR MySQL 해답 보고 Oracle 문제 푸니까 현자타임이 왔다. 분명 쉬워보였는데 서브쿼리를 사용해서 풀어야했다. 학원 다닐때도 이 문제 풀다가 짜증만나서 포기했었는데 드디어 풀었다!
public class Baekjoon1152 { public static void main(String[] args) { //String arr = "The Curious Case of Benjamin Button"; // String arr = "Oh My God"; String arr = "Ah Chiken Ah Chiken Ah Chiken Ah Chiken Ah Chiken Ah Chiken Ah Chiken ".trim(); int space = 0; int result = 0; for(int i = 0; i < arr.length(); i++) { if(arr.charAt(i) == ' ') { space++; } } System.out.print(space + 1); } } // 영어 대소..
import java.util.Arrays; import java.util.Scanner; public class Baekjoon11654 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("문자를 입력하세요 : "); String abb = sc.nextLine(); System.out.print(Arrays.toString(abb.getBytes())); } } // 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. 단순히 abb.getBytes() 로는 출력할 수 없기 때문에 값을 배열에 넣어 출력해준다
public class Baekjoon8958 { public static void main(String[] args) { // String[] ansArr = {"O", "O", "X", "X", "O", "X", "X", "O", "O", "O"}; String[] ansArr = {"O", "O", "O", "O", "X", "O", "O", "O", "O", "X", "O", "O", "O", "O", "X"}; int plus = 1; int finalCnt = 0; for(int i = 0; i < ansArr.length; i++) { if(ansArr[i].equals("O")) { finalCnt += plus; plus++; } else { plus = 1; } } System.out...
헌일