주니어 기초 코딩공부/JAVA_programmers_코딩테스트 80

이진수 더하기_programmers_lev00

문제 설명 이진수를 의미하는 두 개의 문자열 bin1과 bin2가 매개변수로 주어질 때, 두 이진수의 합을 return 하도록 solution 함수를 완성해 주세요. 방법 1) valueOf 사용 두 번째 인수에서 지정한 기수로 구문 분석할 때 지정한 문자열에서 추출한 값을 포함하는 Integer 개체를 반환합니다. 첫 번째 인수는 두 번째 인수에 의해 지정된 기수에서 부호 있는 정수를 나타내는 것으로 해석되며, 마치 인수가 parseInt(java.lang)에 주어진 것처럼 정확하게 해석됩니다. 문자열, int) 메서드입니다. 결과는 문자열로 지정된 정수 값을 나타내는 정수 개체입니다. 방법 2) BigInteger 사용 1. 입력된 2진수를 10진수로 바꾼다. 2. 바꾼 값을 더한다. 3. 더한 값을..

팩토리얼_programmers_lev00

i팩토리얼 (i!)은 1부터 i까지 정수의 곱을 의미합니다. 예를들어 5! = 5 * 4 * 3 * 2 * 1 = 120 입니다. 정수 n이 주어질 때 다음 조건을 만족하는 가장 큰 정수 i를 return 하도록 solution 함수를 완성해주세요. i! ≤ n 입출력 예 #1 10! = 3,628,800입니다. n이 3628800이므로 최대 팩토리얼인 10을 return 합니다. 입출력 예 #2 3! = 6, 4! = 24입니다. n이 7이므로, 7 이하의 최대 팩토리얼인 3을 return 합니다. 재귀함수를 이용해서 들어오는 수 num-1 를 num과 계속해서 곱해가면서 이답이 n보다 커지면 빠져나옵니다. class Solution { public int solution(int n) { int ans..

옹알이 (1)_programmers_lev00

문제 설명 머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return 하도록 solution 함수를 완성해 주세요. 처음에는 "aya", "ye", "woo", "ma" 네 가지 발음을 하나씩 contains 하는지 비교 후 맞으면 answer에 확인하려고 했으나, 그러면 다른 코드가 주어질 때 하나하나 찾아서 바꿔야 하니까 차라리 배열에 담은 후, 각각을 비교했습니다. replaceAll 할 때에 일부러 " " 한 칸을 띄운 이유는, 만약 그냥 ""으로 지워..

등수 매기기_programmers_lev00

영어 점수와 수학 점수의 평균 점수를 기준으로 학생들의 등수를 매기려고 합니다. 영어 점수와 수학 점수를 담은 2차원 정수 배열 score가 주어질 때, 영어 점수와 수학 점수의 평균을 기준으로 매긴 등수를 담은 배열을 return하도록 solution 함수를 완성해주세요. Arrays.fill을 사용해서 들어오는 값을 score을 score의 길이 만큼 늘려서 넣어주고 이차원 배열에 이중 FOR문을 돌아가면서 그 수보다 작으면 하나씩 빼기를 해주었습니다. import java.util.Arrays; class Solution { public int[] solution(int[][] score) { int[] answer = new int[score.length]; Arrays.fill(answer, s..

18장 데이터베이스 롤 권한 제어_롤 생성, 회수 방법(SQL 오라클)

✔ 데이터베이스 롤 권한 제어란?  롤은 사용자에게 보다 효율적으로 권한을 부여할 수 있도록 여러 개의 권한을 묶어 놓은 것 입니다.  데이터베이스의 접속 권한(CREATE SESSION), 테이블 생성 권한(CREATE TABLE), 테이블 수정(UPDATE), 삭제(DELETE), 조회(SELECT) 등과 같은 권한은 사용자에게 기본적으로 필요한 권한들인데 사용자를 생성할 때마다 일일이 이러한 권한을 부여하는 것은 번거습니다.  이 때문에 다수의 사용자에게 공통적으로 필요한 권한들을 롤에 하나의 그룹으로 묶어두고 사용자에게는 특정 롤에 대한 권한 부여를 함으로서 간단하게 권한 부여를 할 수 있도록 합니다. 사전에 정의된 롤 의 종류 CONNECT 롤 • 사전정의 8개 권한 ALTER SESSIO..

치킨 쿠폰_programmers_lev00

프로그래머스 치킨은 치킨을 시켜먹으면 한 마리당 쿠폰을 한 장 발급합니다. 쿠폰을 열 장 모으면 치킨을 한 마리 서비스로 받을 수 있고, 서비스 치킨에도 쿠폰이 발급됩니다. 시켜먹은 치킨의 수 chicken이 매개변수로 주어질 때 받을 수 있는 최대 서비스 치킨의 수를 return하도록 solution 함수를 완성해주세요. 서비스 치킨을 받을때에도 쿠폰은 생깁니다. check = checken % 10 + coupon class Solution { public int solution(int chicken) { int answer = 0; int coupon = 0; while (true) { coupon = chicken / 10; chicken = chicken % 10 + coupon; answer ..

문자열 밀기_programmers_lev00

문자열 "hello"에서 각 문자를 오른쪽으로 한 칸씩 밀고 마지막 문자는 맨 앞으로 이동시키면 "ohell"이 됩니다. 이것을 문자열을 민다고 정의한다면 문자열 A와 B가 매개변수로 주어질 때, A를 밀어서 B가 될 수 있다면 몇 번 밀어야 하는지 횟수를 return하고 밀어서 B가 될 수 없으면 -1을 return 하도록 solution 함수를 완성해보세요. 우선 예시를 apple로 했을 때, A 는 hello B 는 ohello 만약 B를 두번 반복하게 된다면 ohelloohello 입니다. 이때 ohelloohello 인덱스 중 A가 없다면 -1 return 하도록 코딩하였습니다. indexOf("찾는문자") 찾는 문자를 (" ") 안에 추가 class Solution { public int so..

로그인 성공?_programmers_lev00

문제 설명 머쓱이는 프로그래머스에 로그인하려고 합니다. 머쓱이가 입력한 아이디와 패스워드가 담긴 배열 id_pw와 회원들의 정보가 담긴 2차원 배열 db가 주어질 때, 다음과 같이 로그인 성공, 실패에 따른 메시지를 return하도록 solution 함수를 완성해주세요. 아이디와 비밀번호가 모두 일치하는 회원정보가 있으면 "login"을 return합니다. 로그인이 실패했을 때 아이디가 일치하는 회원이 없다면 “fail”를, 아이디는 일치하지만 비밀번호가 일치하는 회원이 없다면 “wrong pw”를 return 합니다. 1.아이디와 비밀번호가 모두 일치하는 회원정보가 있으면 "login"을 return합니다. 2. 로그인이 실패했을 때 아이디가 일치하는 회원이 없다면 “fail”를, 3. 아이디는 일치하..

캐릭터의 좌표_programmers_lev00

문제 설명 머쓱이는 RPG게임을 하고 있습니다. 게임에는 up, down, left, right 방향키가 있으며 각 키를 누르면 위, 아래, 왼쪽, 오른쪽으로 한 칸씩 이동합니다. 예를 들어 [0,0]에서 up을 누른다면 캐릭터의 좌표는 [0, 1], down을 누른다면 [0, -1], left를 누른다면 [-1, 0], right를 누른다면 [1, 0]입니다. 머쓱이가 입력한 방향키의 배열 keyinput와 맵의 크기 board이 매개변수로 주어집니다. 캐릭터는 항상 [0,0]에서 시작할 때 키 입력이 모두 끝난 뒤에 캐릭터의 좌표 [x, y]를 return하도록 solution 함수를 완성해주세요. [0, 0]은 board의 정 중앙에 위치합니다. 예를 들어 board의 가로 크기가 9라면 캐릭터는 ..

외계어 사전_programmers_lev00

PROGRAMMERS-962 행성에 불시착한 우주비행사 머쓱이는 외계행성의 언어를 공부하려고 합니다. 알파벳이 담긴 배열 spell과 외계어 사전 dic이 매개변수로 주어집니다. spell에 담긴 알파벳을 한번씩만 모두 사용한 단어가 dic에 존재한다면 1, 존재하지 않는다면 2를 return하도록 solution 함수를 완성해주세요. 핵심은 Arrays.sort를 spell먼저하고 for문안에서 String 배열을 생성하여 dic에 있는 모든 문자를 하나씩 배열에 넣고 정렬, 그 후 dic에 있는 모든 문자열을 정렬했을때 spell이 모두 있으면 1을 return하도록 구현했습니다. import java.util.Arrays; class Solution { public int solution(Strin..