알고리즘 문제풀이/프로그래머스
-
프로그래머스 문자열 내 p와 y의 개수 풀이 Level 1 문자열 내 p와 y의 개수 문제 정리 대문자와 소문자가 섞여있는 문자열 s가 주어진다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 true / 다르면 false를 return한다. p와 y모두 하나도 없는 경우에는 true를 리턴한다. 대문자와 소문자는 구분하지 않는다. s의 길이는 50이하이다. 문제 풀이 문자열의 길이가 최대 50이므로 모두 탐색하면 된다. 대소문자를 구분하지 않기 위해 주어진 문자열을 소문자로 바꾼다 문자열을 캐릭터 배열로 변환한다. (하지 않고 substring으로 해도 됨) 그리고 문자를 하나씩 검사하며 p라면 p의 개수 count, y라면 y의 개수 count 마지막에 p와 y의 개..
[문자열] 프로그래머스 문자열 내 p와 y의 개수 c++, java 풀이프로그래머스 문자열 내 p와 y의 개수 풀이 Level 1 문자열 내 p와 y의 개수 문제 정리 대문자와 소문자가 섞여있는 문자열 s가 주어진다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 true / 다르면 false를 return한다. p와 y모두 하나도 없는 경우에는 true를 리턴한다. 대문자와 소문자는 구분하지 않는다. s의 길이는 50이하이다. 문제 풀이 문자열의 길이가 최대 50이므로 모두 탐색하면 된다. 대소문자를 구분하지 않기 위해 주어진 문자열을 소문자로 바꾼다 문자열을 캐릭터 배열로 변환한다. (하지 않고 substring으로 해도 됨) 그리고 문자를 하나씩 검사하며 p라면 p의 개수 count, y라면 y의 개수 count 마지막에 p와 y의 개..
2020.04.16 -
프로그래머스(Programmers) 코딩테스트 연습 LEVEL 1 문자열 내 마믐대로 정렬하기 연습문제 자바(java) 풀이 프로그래머스 문자열 내림차순으로 배치하기 문제 풀이 이 문제를 푸는 방법 2가지를 생각했습니다. 속도는 아무래도 1번이 평균적으로 훨씬 빠릅니다. 오름차순으로 sorting한 다음에 뒤에서 부터 거꾸로 넣어준다. 모든 문자를 탐색하면서 뒤의 값이 더 크다면 바꿔준다. (버블 정렬 O(len2)) 1번 풀이 문자를 char 배열 형태로 바꾸어 이를 바로 내림차순으로 정렬할 수도 있고 오름차순으로 정렬하고 뒤에 부터 넣어줄 수 있습니다. 예를들어 abcdef가 있다면 이를 오름차순 하면 abcdef입니다. 내림 차순은 반대이므로 뒤에부터 쓰면 fedcba로 내림차순이 됩니다. 2번 풀..
[프로그래머스] Level1 연습문제 문자열 내림차순으로 배치하기 cpp, java 풀이프로그래머스(Programmers) 코딩테스트 연습 LEVEL 1 문자열 내 마믐대로 정렬하기 연습문제 자바(java) 풀이 프로그래머스 문자열 내림차순으로 배치하기 문제 풀이 이 문제를 푸는 방법 2가지를 생각했습니다. 속도는 아무래도 1번이 평균적으로 훨씬 빠릅니다. 오름차순으로 sorting한 다음에 뒤에서 부터 거꾸로 넣어준다. 모든 문자를 탐색하면서 뒤의 값이 더 크다면 바꿔준다. (버블 정렬 O(len2)) 1번 풀이 문자를 char 배열 형태로 바꾸어 이를 바로 내림차순으로 정렬할 수도 있고 오름차순으로 정렬하고 뒤에 부터 넣어줄 수 있습니다. 예를들어 abcdef가 있다면 이를 오름차순 하면 abcdef입니다. 내림 차순은 반대이므로 뒤에부터 쓰면 fedcba로 내림차순이 됩니다. 2번 풀..
2020.03.14 -
프로그래머스(Programmers) 코딩테스트 연습 LEVEL 1 서울에서 김서방 찾기 연습문제 자바(java) 풀이 프로그래머스 울에서 김서방 찾기 문제 정리 문자 배열이 주어질떄 배열에서 'Kim'의 index를 찾아라 문제 풀이 naive하게 for문으로 배열을 순회하며 "Kim"이라는 문자열을 찾을때까지 반복하면 됩니다. 찾았을때 index를 기억합니다. 배열의 길이 구하기 배열의 length 속성을 통해 길이를 알 수 있습니다. int[] arr = {1,2,3}; // int형 배열 int len = arr.length; // len = 3 프로그래머스 서울에서 김서방 찾기 자바(java) 코드 class Solution { public String solution(String[] seoul)..
[프로그래머스] Level1 연습문제 서울에서 김서방 찾기 c++ 한줄 풀이 및 java 코드프로그래머스(Programmers) 코딩테스트 연습 LEVEL 1 서울에서 김서방 찾기 연습문제 자바(java) 풀이 프로그래머스 울에서 김서방 찾기 문제 정리 문자 배열이 주어질떄 배열에서 'Kim'의 index를 찾아라 문제 풀이 naive하게 for문으로 배열을 순회하며 "Kim"이라는 문자열을 찾을때까지 반복하면 됩니다. 찾았을때 index를 기억합니다. 배열의 길이 구하기 배열의 length 속성을 통해 길이를 알 수 있습니다. int[] arr = {1,2,3}; // int형 배열 int len = arr.length; // len = 3 프로그래머스 서울에서 김서방 찾기 자바(java) 코드 class Solution { public String solution(String[] seoul)..
2020.03.13 -
프로그래머스(Programmers) 코딩테스트 연습 LEVEL 1 평균 구하기 연습문제 자바(java) 풀이 프로그래머스 평균 구하기 문제 풀이 그냥 배열의 모든 수를 꺼내서 더하고 배열의 길이로 나누어 주면 됩니다. 다만 주의할 점이 있습니다. 모든 수를 더할때 double 변수에 담아주어야 합니다. 만약 아래와 같이 했다면 평균은 2로 출력 됩니다. int sum = 0; for(int num : arr) sum += num; return sum / arr.length; 왜냐하면 int와 int로 나누었기 때문에 소수점은 버리게 됩니다. 나누는 수 중 하나는 double 형으로 해주어야 double형으로 계산이 되서 소수점도 남습니다. double로 타입 캐스팅을 해주거나 sum을 double변수로 ..
[프로그래머스] Level1 연습문제 평균 구하기 자바(java) 풀이프로그래머스(Programmers) 코딩테스트 연습 LEVEL 1 평균 구하기 연습문제 자바(java) 풀이 프로그래머스 평균 구하기 문제 풀이 그냥 배열의 모든 수를 꺼내서 더하고 배열의 길이로 나누어 주면 됩니다. 다만 주의할 점이 있습니다. 모든 수를 더할때 double 변수에 담아주어야 합니다. 만약 아래와 같이 했다면 평균은 2로 출력 됩니다. int sum = 0; for(int num : arr) sum += num; return sum / arr.length; 왜냐하면 int와 int로 나누었기 때문에 소수점은 버리게 됩니다. 나누는 수 중 하나는 double 형으로 해주어야 double형으로 계산이 되서 소수점도 남습니다. double로 타입 캐스팅을 해주거나 sum을 double변수로 ..
2020.03.13 -
프로그래머스(Programmers) 코딩테스트 연습 LEVEL 1 연습문제 프로그래머스 수박수박수박수박수박수? 문제 정리 n의 길이에 따라 "수박수박수박수박"으로 반복되는 문자열을 출력합니다. 문제 풀이 딱 봐도 간단한 문제이기에 이런 문제일수록 가장 간단하게 접근해야 합니다. 다음과 같은 방법들이 있습니다. StringBuffer의 append를 이용해 "수박" 붙여 나가기 그냥 string에 붙이기 "수박수박수박...." 길이 10000으로 만들어 두고 substring 메소드 이용 1,2번의 기본적인 생각은 길이가 2로 나누어 떨어지면 "수박"모두 붙이고, 그렇지 않으면 "수"만 붙이는 것입니다. 수박수박수박수박수? 자바(java) 코드
[프로그래머스] Level1 연습문제 수박수박수박수박수박수? 자바(java) 풀이프로그래머스(Programmers) 코딩테스트 연습 LEVEL 1 연습문제 프로그래머스 수박수박수박수박수박수? 문제 정리 n의 길이에 따라 "수박수박수박수박"으로 반복되는 문자열을 출력합니다. 문제 풀이 딱 봐도 간단한 문제이기에 이런 문제일수록 가장 간단하게 접근해야 합니다. 다음과 같은 방법들이 있습니다. StringBuffer의 append를 이용해 "수박" 붙여 나가기 그냥 string에 붙이기 "수박수박수박...." 길이 10000으로 만들어 두고 substring 메소드 이용 1,2번의 기본적인 생각은 길이가 2로 나누어 떨어지면 "수박"모두 붙이고, 그렇지 않으면 "수"만 붙이는 것입니다. 수박수박수박수박수? 자바(java) 코드
2020.03.13 -
프로그래머스 level1 모의고사 문제 풀이입니다 c++, java로 풀었습니다 https://programmers.co.kr/learn/courses/30/lessons/42840 이 문제는 이해만 하면 쉽게 풀 수 있어요 첫 번째 사람은 5번마다 반복해서 찍고 두 번째 사람은 8번째 세 번째 사람은 10번째 마다 반복되는 숫자로 찍어요!! 그래서 % 연산을 통해 사람마다 총 몇개 맞추었는지 구합니다 일일이 끝까지 검색 즉, 완전탐색을 하면서 구해야되요 java 풀이 import java.util.*; class Solution { public int[] solution(int[] answers) { ArrayList arrList = new ArrayList(); int[] a = {1,2,3,4,5..
[프로그래머스(Programmers)] level1 모의고사 (완전탐색) c++, java 풀이프로그래머스 level1 모의고사 문제 풀이입니다 c++, java로 풀었습니다 https://programmers.co.kr/learn/courses/30/lessons/42840 이 문제는 이해만 하면 쉽게 풀 수 있어요 첫 번째 사람은 5번마다 반복해서 찍고 두 번째 사람은 8번째 세 번째 사람은 10번째 마다 반복되는 숫자로 찍어요!! 그래서 % 연산을 통해 사람마다 총 몇개 맞추었는지 구합니다 일일이 끝까지 검색 즉, 완전탐색을 하면서 구해야되요 java 풀이 import java.util.*; class Solution { public int[] solution(int[] answers) { ArrayList arrList = new ArrayList(); int[] a = {1,2,3,4,5..
2020.01.18