문제링크소프티어 lv.1 위험한 효도 Note썸네일만 보고 2단계인줄 알고 풀었지만 풀고보니 1단계였던 문제.거리 1만큼 이동하는데에 1초의 시간이 걸리는 것이 단서입니다.총 걸린 시간 = 움직인 거리(=움직인 시간) + 술래 때문에 멈춰있었던 시간 입니다.움직인 거리는 왕복이니 2d, 술래가 돌아본 횟수 * 돌아봤을 때의 시간(오갈 때 시간이 다른 점 주의)을 구해 풀었습니다. 제출한 코드import java.io.*;import java.util.*;public class Main { public static void main(String[] args) { //술래에게 가는 길과 갔다가 돌아오는 길을 나눠서 생각한다. //가는 길과 돌아오는 길에 술래가 움직이는 횟수를 ..
문제 링크 https://softeer.ai/practice/7698 제출한 코드 import java.io.*; import java.util.*; public class Main { public static void main(String[] args) { //T를 받는다 //n을 5로 나눠서 몫(a) 만큼 ++++ 나머지(b)만큼 | 출력 Scanner sc = new Scanner(System.in); int T = sc.nextInt(); for(int i = 0; i < T; i++){ int n = sc.nextInt(); int a = n / 5; int b = n % 5; for(int j = 0; j < a ; j++){ System.out.print("++++ "); } for(int ..
문제 프로그래머스lv1. 가운데 글자 가져오기 Note 문자열을 잘라주는 substring() 메소드를 사용 두 개의 파라미터를 사용하는 substring(int startIndex, int endIndex) index가 나타내는 위치에 주의가 필요하다 제출 코드 결과보기 class Solution { public String solution(String s) { String answer = ""; //s 길이*1/2 결과값 n //홀수라면 substring n, n+1 //짝수라면 substring n-1,n+1 int n = s.length() * 1/2; answer = (s.length()%2 == 1)? s.substring(n,n+1) : s.substring(n-1,n+1) ; return ..
문제 링크[level 0] 피자 나눠 먹기 (3) - 120816 Note조건이 true이면 실행을 반복하는 while 문을 사용함.피자 나눠 먹기 시리즈 중 가장 간단하다고 생각됨. Keywhile 문 제출한 코드class Solution { public int solution(int slice, int n) { int answer = 1; while(slice * answer
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/131705 Note 가능한 경우의 수를 모두 탐색하고 조건에 부합하는 경우를 카운트 하기. 제출한 코드 class Solution { public int solution(int[] number) { //세 자리의 경우의 수 a, b, c int a = 0; int b = 0; int c = 0; int sum = 0; // 세 개의 수 합 //포문 삼중으로 쓰기 : i,j,k 변수 사용 //조건식은 다음 자리 수를 뺀기 위해 i는 길이-2까지, j는 길이 -1까지 //sum이 0이 되면 answer ++ int answer = 0; for(int i = 0; i
문제 프로그래머스/1/12919. 서울에서 김서방 찾기 Note 배열 안의 특정 인자를 찾아서 그 인덱스를 반환하는 방법을 사용했다. indexOf() 의 반환 타입은 int이다. indexOf() 메소드는 String배열을 List 타입으로 변환 해주어야 사용할 수 있다. Key int indexOf(Object o) Arrays.asList(arr) : arr라는 배열을 list로 변환한다. 제출한 코드 import java.util.*; class Solution { public String solution(String[] seoul) { int ans = Arrays.asList(seoul).indexOf("Kim"); String answer = "김서방은 " + ans + "에 있다"; ret..
문제링크 https://softeer.ai/practice/7626 Note 1. 마을 사이 거리를 담은 배열을 만든다. 2. 제일 짧은 거리를 구한다. 3. 제일 짧은 거리의 갯수를 구하고 카운트 한다 - 스캐너를 .nextInt() 과 .nextLine()을 섞어 쓰니 오류가 나서 .nextLine만 쓰고 타입을 바꿔줌 Key .split(); Integer.parseInt(); .nextLine(); Arrays.sort(arr); 제출 코드 import java.io.*; import java.util.*; public class Main { public static void main(String[] args) { //마을 사이 거리를 담은 배열 arrDis //arrDis의 min //min과 ..
문제 프로그래머스/2/42842. 카펫 Note 어떻게 풀지 너무나도 고민했다... 처음에 미지수를 너무 많이 둬서 뱅글뱅글 돌았다. 으윽 하지만 결국 내가 생각해낸 방법으로 해결! 왠지 훨씬 쉬운 방법이 있을 것 같고 그것이 충격적일 것 같아서, 다른 사람 풀이는 천천히 봐야겠다... Key yellow의 인수(=yellow의 가로세로) 제출한 코드 class Solution { public int[] solution(int brown, int yellow) { //yellow 의 세로 l, 가로 yellow/l int l = 1; //answer = {yellow/l+2, l+2} //brown = 2(yellow/l) + 2l + 4 //yellow의 인수를 하나씩 넣어서 brown 식 충족하면 a..
문제 프로그래머스/1/12922. 수박수박수박수박수박수? Note 다른 사람 풀이가 재밌었다. 어떻게든 풀 수 있다는 소소한 응원도 되었다. 처음 떠오르는 방법으로 코드를 쓰고 채점하고나니 삼항연산자로도 할 수 있었다는 생각이 났다. 아직 기본 if문이 더 익숙하니 그냥 풀면되지만 삼항연산자를 사용하면 한 줄 더 줄일 수 있으니, 다음엔 떠올려보면 좋겠다:) Key String.join("",str); 제출한 코드 import java.util.*; class Solution { public String solution(int n) { String answer = ""; String[] str = new String[n]; for(int i = 0; i
문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/120888 KeyStringBuilderHashSetcontains() 제출한 코드import java.util.*;class Solution { public String solution(String my_string) { Set mySet = new HashSet(); StringBuilder builder = new StringBuilder(); for(char c : my_string.toCharArray()){ if(mySet.contains(c)) continue; mySet.add(c)..