전체 글

세일즈포스 개발자 제이의 블로그입니다. 세일즈포스 / 개발 공부 / 일상글을 씁니다 :)
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42576 Note 해시를 잘 활용하고자 여러 문제들을 풀어보고 있습니다. 익숙해지면 유용하게 활용할 수 있을 것 같아요. 이번 문제 푸는 로직은 간단했습니다. 참가자에서 이름이 나오면 +1, 완주자에서 나오면 -1. 동명이인도 별도 체크가 필요없는 방법입니다. getOrDefault() 메서드는 해쉬맵 문제에서는 내내 유용하게 쓰고 있습니다. for-each를 공부하고도 잘 안 써서 쓸 때마다 낯선데, 자주 써서 익히려고 합니다. Key 1. key=이름, value=참가(+1)/완주(-1) 2. getOrDefault(Object key, V defaultValue) Returns the..
문제 링크[level 1] 가장 가까운 같은 글자 - 142086 Noteadd(), put() 같이 쓰니가 바꿔 쓰고 그랬다...처음에 설정된 반환 타입(int배열)을 List로 바꿔서 List를 배열로 바꾸는 것을 생략했다. KeyHashMapmap.containsKey()주어진 key가 map에 포함되어 있는지 확인.toCharArray()문자열을 Char 타입 배열로 변환 제출한 코드import java.util.*;class Solution { public List solution(String s) { List answer = new ArrayList(); // s를 한 글자씩 이전에 등장했는지 확인하고 map에 인덱스와 추가 // map..
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/120886 Note HashMap의 다양한 활용 사례를 익히려고 집중적으로 푸는 중 !! 제출한 코드 import java.util.*; class Solution { public int solution(String before, String after) { //HashMap 사용, key:알파벳, value:갯수 HashMap beforeMap = new HashMap(); HashMap afterMap = new HashMap(); for(int i = 0; i < after.length() ; i++){ bef..
문제 링크 https://softeer.ai/practice/7628 Note key와 Value를 저장할 수 있는 HashMap 사용 Key HashMap .put(key, value) .getOrDefault(key, defaultValue) Collection.max(count.value**s**()) 제출한 코드 import java.io.*; import java.util.*; public class Main { //각 집의 난로 반지름 길이를 담은 배열을 만든다. //난로의 반지름의 약수를 구하고 약수를 해시맵의 키로, 약수가 등장하면 벨류를 +1해준다. //각 약수들(키)을 카운팅 해서 가장 큰 수를 출력한다! public static void main(String[] args) { Scan..
문제링크 https://softeer.ai/practice/6283 Note 두 배열의 비교하는 것이 관건이었던 문제 서로 다른 두 배열을 단순히 == 로 비교하면 각 배열의 주소값을 불러오기 때문에 당연히 false 이다. 두 배열의 요소를 비교 하려면 .equals()를 사용하자 Key Arrays.equals(array1, array2) 제출한 코드 import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { Scanner sc = new Scanner(System.in); int[] arrInput = new int[8]; for(int i = 0 ..
문제 링크 https://softeer.ai/practice/6268 Key 1. 0~9 까지의 숫자를 전광판의 전구 상태를 배열로 나타낸다. 2. 숫자를 넣으면 전구 상태를 알려주는 메소드를 만든다 2-1. 켜지면 1, 꺼지면 0이다. 2-2. 실존하지 않는 '0'의 표기에 주의한다. 3. 처음 숫자와 바뀐 숫자의 각 자리수의 숫자를 비교하고, 바뀌었다면 전구 상태를 비교해서 카운트한다. Note 코드가 길어서 중간중간 디버그를 많이 해야했다. 실존하지 않는 0과 실존하는 0의 구분 없이 계산했다가 케이스의 일부만 맞아서 혼란스러웠다. 실존하지 않는 0과 실존하는 0의 구분이 필요한 것을 알고 나서는 둘의 구분을 메소드의 case와 전광판 숫자 배열에서 어떻게 나타내어 줄지 고민했다. int 배열인것을..
문제링크 https://softeer.ai/practice/6253 Note 마지막 소프티어 1단계 문제입니다.ㅎㅎ reader를 쓸까 하다가 int 타입으로 받아 바로 선언해주기 위해 scanner를 사용했습니다. 제출한 코드 import java.io.*; import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int A = sc.nextInt(); //A의 주행거리 int B = sc.nextInt(); //B의 주행거리 String answer = ""; if(A == B){ answer = "same"; } else { answer = (A ..
문제 링크https://softeer.ai/practice/7353 Note배열 타입에 주의해서 사용할 타입의 배열로 잘 변환할 수 있도록 주의합니다.두 수를 곱해서 최대 값을 구하는 것이기 때문에, 음수 * 음수 , 음수 * 양수 를 주의 합니다.땅의 비옥도를 sort해서 배열의 양 끝에서 각각 2개의 인자(arr[0],arrr[1])를 곱하고 더 큰 값을 출력합니다. 제출한 코드import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStrea..
개인적으로 꼭 따고 싶었던 자격증, 앱 빌더 자격증을 드디어 땄습니다 ! 체감 난이도 '상' 이었습니다. 하하 너무 까다로워요 ...!!! 어쏘, 어드민, js디벨로퍼 보다 확실히 세세하게 물어봐서 신경 쓸 것이 많아요. 앱 빌더 자격증은 pro-code 개발자가 되기 전에 꼭 필요하다고 생각했던 자격증인데요, 그 이유는 세일즈포스 공인 앱 빌더 설명을 보면 알 수 있습니다 플랫폼 앱 빌더의 정의 Certified Platform App Builders have the skills and knowledge to design, build, and implement custom applications using the declarative customization capabilities of the Sale..
문제 링크 프로그래머스lv.2 JadenCase 문자열 만들기 Note 오랜만에 도전한 프로그래머스 lv.2 문제입니다. 처음에 선택한 풀이 방법이 오히려 복잡해서 다시 생각하느라 오래 걸렸었습니다. 첫번째 아이디어 //주어진 s를 모두 소문자로 바꾼다. //s를 " "로 split 해서 배열에 담는다. //각 인자를 또 쪼개서 배열에 담는다. //첫 인자가 숫자 또는 공백이면 변경 x, 영어면 대문자로 바꿔준다. //다시 String으로 합쳐주는 작업을 2회 한다. 공백문자를 기준으로 배열에 담고 배열 인자의 첫 글자를 대문자로 바꿔주면 된다고 생각했지만 오히려 타입도 신경써야해서 메소드에 제약도 생기고 복잡했습니다. 두번째 아이디어 위 방법에서 단어를 담은 배열 인자를 Queue로 첫 글자만 바꿔담는..
다이나모 제이
개발자 제이의 블로그