본문 바로가기

프로그래머스 문제풀어보기61

[Lv.0] 개미군단 https://school.programmers.co.kr/learn/courses/30/lessons/120837 class Solution { public int solution(int hp) { int answer = 0; int hp1=0; int hp2=0; if(hp>0){ hp1=hp%5; answer+=hp/5; } if(hp1>0){ hp2=hp1%3; answer +=hp1/3; answer +=hp2/1; } return answer; } } 사냥감의 체력 hp를 우선 가장쎈 공격력을 가진 장군개미의 공격력인 5의 나머지값을 구한 후 나머지 체력을 hp1에 저장한다. 그 후 hp를 5로 나눈값을 answer에 추가한다. 장군개미의 공격후 적의 체력이 남았다면 그 다음공격력을 가진 병정.. 2023. 2. 21.
[Lv.0] 배열 자르기 https://school.programmers.co.kr/learn/courses/30/lessons/120833 다음과 같이 풀었는데, 테스트단계에선 작동했지만, 채점에서 런타임 에러가 떴다. 그래서 다른 방법을 찾아보고 생각해보았다. class Solution { public int[] solution(int[] numbers, int num1, int num2) { int[] answer = new int[num2]; for(int i=0; i 2023. 2. 18.
[Lv.0] 머쓱이보다 키 큰 사람 https://school.programmers.co.kr/learn/courses/30/lessons/120585 class Solution { public int solution(int[] array, int height) { int answer = 0; for(int i =0; i 2023. 2. 17.
[Lv.0] 특정 문자 제거하기 https://school.programmers.co.kr/learn/courses/30/lessons/120826 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr class Solution { public String solution(String my_string, String letter) { String answer = ""; return my_string.replaceAll(letter,""); } } replaceAll(변경하고싶은문자,변경할문자)을 이용해서 my_string에 있는 letter 글자를 "" 빈칸으로 만들어 지워줬다. 2023. 2. 17.
[Lv.0] 문자열 내 p와 y의 개수 https://school.programmers.co.kr/learn/courses/30/lessons/12916 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다. 예를 들어 s가 "pPoooyY"면 true를 return하고 "Pyy"라면 false를 return합니다. 제한사항 문자열 s의 길이 : 50 이하의 자연수 문자열 s는 알파벳으로만 이루어져 있습니다. class Solution { boolean solution(String s) {.. 2022. 10. 12.
[Lv.0] 자연수 뒤집어 배열로 만들기 https://school.programmers.co.kr/learn/courses/30/lessons/12932 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. import java.util.*; class Solution { public int[] solution(long n) { List list = new ArrayList(); while(n!=0) { list.add((int)(n%10)); n/=10; } int[] answer = new int[list.size()]; for(int i=0; i 3을 list 0번째에 저장 [3] 그 후 .. 2022. 10. 11.
[Lv.0] 정수 제곱근 판별 https://school.programmers.co.kr/learn/courses/30/lessons/12934 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. 제한 사항 n은 1이상, 50000000000000 이하인 양의 정수입니다. class Solution { public long solution(long n) { long answer = (long)Math.sqrt(n); if(Math.pow(answer,2)==n) { return (long)Math.pow(answer+1,2); }else{ return -1; } }.. 2022. 10. 10.
[Lv.0] 자릿수 더하기 https://school.programmers.co.kr/learn/courses/30/lessons/12931 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 import java.util.*; public class Solution { public int solution(int n) { int answer = 0; while(n!=0) { answer += n%10; n /= 10; } return answer; } } 자연수N이 123이라면 1+2+3, 4567이라면 4+5+6+7을 해야하며 반복문.. 2022. 10. 8.
[Lv.0] 약수의 합 https://school.programmers.co.kr/learn/courses/30/lessons/12928 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. n은 0 이상 3000이하인 정수입니다. class Solution { public int solution(int n) { int answer = 0; for (int i=1; iif (n%i==0){ answer +=i; }) 그 후 반복문 for를 이용해 변수 i를 1부터 n과 같거나 작을때까지 식에 대입해보고 후위연산자를 이용해 1을 증가시키며 반복한다 -> (for (int i=1; i (return answer;) 2022. 10. 6.
[Lv.0] 평균 구하기 https://school.programmers.co.kr/learn/courses/30/lessons/12944 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. arr은 길이 1 이상, 100 이하인 배열입니다. arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. class Solution { public double solution(int[] arr) { double answer = 0; double sum = 0; for(int i=0; i 2022. 10. 6.