μ•Œκ³ λ¦¬μ¦˜

    11μ›” 26일 2문제 - Java : Two pointers

    1. 두 λ°°μ—΄ ν•©μΉ˜κΈ° 첫 번째 쀄에 첫 번째 λ°°μ—΄μ˜ 크기 N(1

    11μ›” 22일 1문제 - Java : Array

    1. λ©˜ν† λ§ ν˜„μˆ˜λ„€ 반 μ„ μƒλ‹˜μ€ 반 ν•™μƒλ“€μ˜ μˆ˜ν•™μ μˆ˜λ₯Ό ν–₯μƒμ‹œν‚€κΈ° μœ„ν•΄ λ©˜ν† λ§ μ‹œμŠ€ν…œμ„ λ§Œλ“€λ €κ³  ν•©λ‹ˆλ‹€. λ©˜ν† λ§μ€ λ©˜ν† (λ„μ™€μ£ΌλŠ” 학생)와 λ©˜ν‹°(도움을 λ°›λŠ” 학생)κ°€ ν•œ 짝이 λ˜μ–΄ λ©˜ν† κ°€ λ©˜ν‹°μ˜ μˆ˜ν•™κ³΅λΆ€λ₯Ό λ„μ™€μ£ΌλŠ” κ²ƒμž…λ‹ˆλ‹€. μ„ μƒλ‹˜μ€ M번의 μˆ˜ν•™ν…ŒμŠ€νŠΈ λ“±μˆ˜λ₯Ό 가지고 λ©˜ν† μ™€ λ©˜ν‹°λ₯Ό μ •ν•©λ‹ˆλ‹€. λ§Œμ•½ A학생이 λ©˜ν† μ΄κ³ , B학생이 λ©˜ν‹°κ°€ λ˜λŠ” 짝이 λ˜μ—ˆλ‹€λ©΄, A학생은 M번의 μˆ˜ν•™ν…ŒμŠ€νŠΈμ—μ„œ λͺ¨λ‘ B학생보닀 λ“±μˆ˜κ°€ μ•žμ„œμ•Ό ν•©λ‹ˆλ‹€. M번의 μˆ˜ν•™μ„±μ μ΄ 주어지면 λ©˜ν† μ™€ λ©˜ν‹°κ°€ λ˜λŠ” 짝을 λ§Œλ“€ 수 μžˆλŠ” κ²½μš°κ°€ 총 λͺ‡ 가지 인지 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ„Έμš”. 1. 1 번째 ,2 번째 for문은 λ©˜ν† λ§μ΄ λ˜λŠ” ν•™μƒμ˜ 수 만큼의 κ²½μš°μ˜μˆ˜μ— 따라 검색 ν•˜κΈ° μœ„ν•¨ 2. 3번째 for문은 κ·Έ 경우의 μˆ˜κ°€ test만큼 있기 λ•Œλ¬Έ 3...

    [ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ Lv.1] 둜또의 졜고 μˆœμœ„μ™€ μ΅œμ € μˆœμœ„

    https://programmers.co.kr/learn/courses/30/lessons/77484 μ½”λ”©ν…ŒμŠ€νŠΈ μ—°μŠ΅ - 둜또의 졜고 μˆœμœ„μ™€ μ΅œμ € μˆœμœ„ 둜또 6/45(μ΄ν•˜ '둜또'둜 ν‘œκΈ°)λŠ” 1λΆ€ν„° 45κΉŒμ§€μ˜ 숫자 쀑 6개λ₯Ό μ°μ–΄μ„œ λ§žνžˆλŠ” λŒ€ν‘œμ μΈ λ³΅κΆŒμž…λ‹ˆλ‹€. μ•„λž˜λŠ” 둜또의 μˆœμœ„λ₯Ό μ •ν•˜λŠ” λ°©μ‹μž…λ‹ˆλ‹€. 1 μˆœμœ„ 당첨 λ‚΄μš© 1 6개 λ²ˆν˜Έκ°€ λͺ¨λ‘ 일치 2 5개 번호 programmers.co.kr java class Solution { public int[] solution(int[] lottos, int[] win_nums) { int[] answer = new int[2]; // 1,2,3,4,5,6-7(낙첨) int[] level = {6,6,5,4,3,2,1}; int cnt = 0; int win_c..

    11μ›” 13일 1문제 - Java : Array

    1. μž„μ‹œλ°˜μž₯ μ •ν•˜κΈ° 김갑동 μ„ μƒλ‹˜μ€ μ˜¬ν•΄ 6ν•™λ…„ 1반 λ‹΄μž„μ„ 맑게 λ˜μ—ˆλ‹€. 김갑동 μ„ μƒλ‹˜μ€ μš°μ„  μž„μ‹œλ‘œ 반μž₯을 μ •ν•˜κ³  학생듀이 μ„œλ‘œ μΉœμˆ™ν•΄μ§„ 후에 μ •μ‹μœΌλ‘œ μ„ κ±°λ₯Ό 톡해 반μž₯을 μ„ μΆœν•˜λ €κ³  ν•œλ‹€. κ·ΈλŠ” 자기반 학생 μ€‘μ—μ„œ 1ν•™λ…„λΆ€ν„° 5ν•™λ…„κΉŒμ§€ μ§€λ‚΄μ˜€λ©΄μ„œ ν•œλ²ˆμ΄λΌλ„ 같은 λ°˜μ΄μ—ˆλ˜ μ‚¬λžŒμ΄ κ°€μž₯ λ§Žμ€ 학생을 μž„μ‹œ 반μž₯으둜 μ •ν•˜λ € ν•œλ‹€. κ·Έλž˜μ„œ 김갑동 μ„ μƒλ‹˜μ€ 각 학생듀이 1ν•™λ…„λΆ€ν„° 5ν•™λ…„κΉŒμ§€ λͺ‡ λ°˜μ— μ†ν–ˆμ—ˆλŠ”μ§€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” ν‘œλ₯Ό λ§Œλ“€μ—ˆλ‹€. 예λ₯Ό λ“€μ–΄ 학생 μˆ˜κ°€ 5λͺ…일 λ•Œμ˜ ν‘œλ₯Ό μ‚΄νŽ΄λ³΄μž. μœ„ κ²½μš°μ— 4번 학생을 보면 3번 학생과 2ν•™λ…„ λ•Œ 같은 λ°˜μ΄μ—ˆκ³ , 3번 학생 및 5번 학생과 3ν•™λ…„ λ•Œ 같은 λ°˜μ΄μ—ˆμœΌλ©°, 2번 ν•™μƒκ³ΌλŠ” 4ν•™λ…„ λ•Œ 같은 λ°˜μ΄μ—ˆμŒμ„ μ•Œ 수 μžˆλ‹€. κ·ΈλŸ¬λ―€λ‘œ 이 ν•™κΈ‰μ—μ„œ 4번 학생과 ν•œλ²ˆμ΄λΌλ„ 같은..

    11μ›” 3일 1문제 - Java : Array

    1. λ΄‰μš°λ¦¬ 지도 정보가 N*N κ²©μžνŒμ— μ£Όμ–΄μ§‘λ‹ˆλ‹€. 각 κ²©μžμ—λŠ” κ·Έ μ§€μ—­μ˜ 높이가 μ“°μ—¬μžˆμŠ΅λ‹ˆλ‹€. 각 격자판의 숫자 쀑 μžμ‹ μ˜ μƒν•˜μ’Œμš° μˆ«μžλ³΄λ‹€ 큰 μˆ«μžλŠ” λ΄‰μš°λ¦¬ μ§€μ—­μž…λ‹ˆλ‹€. λ΄‰μš°λ¦¬ 지역이 λͺ‡ 개 μžˆλŠ” 지 μ•Œμ•„λ‚΄λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ„Έμš”. 격자의 κ°€μž₯μžλ¦¬λŠ” 0으둜 μ΄ˆκΈ°ν™” λ˜μ—ˆλ‹€κ³  κ°€μ •ν•œλ‹€. λ§Œμ•½ N=5 이고, 격자판의 μˆ«μžκ°€ λ‹€μŒκ³Ό κ°™λ‹€λ©΄ λ΄‰μš°λ¦¬μ˜ κ°œμˆ˜λŠ” 10κ°œμž…λ‹ˆλ‹€. 2차원 배열은 μ΅μˆ™ν•˜μ§€ μ•Šμ•„μ„œ λ°©ν–₯을 우째 for문에 담아야할지 감이 μ•ˆμ™€μ„œ κ°•μ˜λ₯Ό λ΄€λŠ”λ° 보톡 이런 λ¬Έμ œμ—μ„œλŠ” 배열에 λ°©ν–₯을 λ¨Όμ € λ‹΄μ•„ 두고 그걸둜 2쀑 for문을 λŒμ•„μ•Ό ν•œλ‹€κ³  ν•œλ‹€. import java.util.Scanner; public class Test02_10 { public int solution(int[][] numberA..

    10μ›” 29일 1문제 - Java : Array

    1. 격자판 μ΅œλŒ€ν•© 5*5 κ²©μžνŒμ— μ•„λž˜λ‘Έ 같이 μˆ«μžκ°€ μ ν˜€μžˆμŠ΅λ‹ˆλ‹€. N*N의 격자판이 주어지면 각 ν–‰μ˜ ν•©, 각 μ—΄μ˜ ν•©, 두 λŒ€κ°μ„ μ˜ ν•© 쀑 κ°€ μž₯ 큰 합을 좜λ ₯ν•©λ‹ˆλ‹€. import java.util.Scanner; public class Main { public int solution(int[][] numberArray, int number) { int result = 0; int x, y; for (int i = 0; i < number; i++) { x = y = 0; for (int j = 0; j < number; j++) { x += numberArray[i][j]; y += numberArray[j][i]; } result = Math.max(result, x); result = Math..

    10μ›” 21일 4문제 - Java : Array

    1. μžμ—°μˆ˜ N이 μž…λ ₯되면 1λΆ€ν„° NκΉŒμ§€μ˜ μ†Œμˆ˜μ˜ 개수λ₯Ό 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ„Έμš”. λ§Œμ•½ 20이 μž…λ ₯되면 1λΆ€ν„° 20κΉŒμ§€μ˜ μ†Œμˆ˜λŠ” 2, 3, 5, 7, 11, 13, 17, 19둜 총 8κ°œμž…λ‹ˆλ‹€. μ†Œμˆ˜λŠ” 1κ³Ό μžμ‹ μœΌλ‘œλ§Œ λ‚˜λˆ„μ–΄μ§€λŠ” 수 μž…λ‹ˆλ‹€. κ·ΈλŸ¬λ―€λ‘œ 2,3,4... λ“± 의 λ°°μˆ˜κ°€ 되면 μ•ˆλ˜κ² μ£ ! μ—¬κΈ°μ„œλŠ” int λ°°μ—΄μ˜ 크기둜 0 μΌλ•Œ count λ˜λ„λ‘ ν–ˆμŠ΅λ‹ˆλ‹€. 2번째 forλ¬Έμ—μ„œ j=j+1 둜 λ°°μˆ˜λ“€μ„ 체크 ν•΄μ£Όμ—ˆμŠ΅λ‹ˆλ‹€. (체크할 배수 만큼만 for문을 λˆλ‹€) import java.util.Scanner; public class Test2_05 { public int solution(int number) { int result = 0; int[] ch = new int[number + 1]; f..

    10μ›” 20일 4문제 - Java : Array

    1. 큰 수 좜λ ₯ν•˜κΈ° N개의 μ •μˆ˜λ₯Ό μž…λ ₯λ°›μ•„, μžμ‹ μ˜ λ°”λ‘œ μ•ž μˆ˜λ³΄λ‹€ 큰 수만 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ„Έμš”. (첫 번째 μˆ˜λŠ” 무쑰건 좜λ ₯ν•œλ‹€) import java.util.ArrayList; import java.util.Scanner; public class Test2_01 { public ArrayList solution(int[] numberArray) { ArrayList result = new ArrayList(); result.add(numberArray[0]); for (int i = 0; i < numberArray.length-1; i++) { if(numberArray[i]=3){ result.add("A"); }else{ result.add("B"); } } return resul..

    10μ›” 17일 2문제 - Java

    1. λ¬Έμžμ—΄ μ••μΆ• μ•ŒνŒŒλ²³ λŒ€λ¬Έμžλ‘œ 이루어진 λ¬Έμžμ—΄μ„ μž…λ ₯λ°›μ•„ 같은 λ¬Έμžκ°€ μ—°μ†μœΌλ‘œ λ°˜λ³΅λ˜λŠ” 경우 λ°˜λ³΅λ˜λŠ” 문자 λ°”λ‘œ 였λ₯Έμͺ½μ— 반볡 횟수λ₯Ό ν‘œκΈ°ν•˜λŠ” λ°©λ²•μœΌλ‘œ λ¬Έμžμ—΄μ„ μ••μΆ•ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. 단 λ°˜λ³΅νšŸμˆ˜κ°€ 1인 경우 μƒλž΅ν•©λ‹ˆλ‹€. μš°μ„  index 였λ₯˜λ₯Ό 작기 μœ„ν•΄ μ–΄λ–€ 방법을 써야 ν•˜λŠ”μ§€ 잘 λͺ°λΌ κ°•μ˜λ₯Ό μ°Έκ³  ν–ˆλ‹€. 곡백 문자λ₯Ό μΆ”κ°€ν•΄μ„œ μ•žλ’€ 문자 λ₯Ό λΉ„κ΅ν•˜λŠ” λ°©μ‹μœΌλ‘œ ν–ˆλ‹€. import java.util.Scanner; public class Test1_11 { public String solution(String sentence) { String result = ""; int cnt = 1; // 맨 끝 κΈ€μžλ₯Ό μœ„ν•΄ 곡백 μΆ”κ°€ > indexOfBind 방지 sentence = sentence + ..

    10μ›” 16일 2문제 - Java

    1. 숫자만 μΆ”μΆœ λ¬Έμžμ™€ μˆ«μžκ°€ μ„žμ—¬μžˆλŠ” λ¬Έμžμ—΄μ΄ 주어지면 κ·Έ 쀑 숫자만 μΆ”μΆœν•˜μ—¬ κ·Έ μˆœμ„œλŒ€λ‘œ μžμ—°μˆ˜λ₯Ό λ§Œλ“­λ‹ˆλ‹€. λ§Œμ•½ β€œtge0a1h205erβ€μ—μ„œ 숫자만 μΆ”μΆœν•˜λ©΄ 0, 1, 2, 0, 5이고 이것을 μžμ—°μˆ˜λ₯Ό λ§Œλ“€λ©΄ 1205이 λ©λ‹ˆλ‹€. μΆ”μΆœν•˜μ—¬ λ§Œλ“€μ–΄μ§€λŠ” μžμ—°μˆ˜λŠ” 100,000,000을 λ„˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μ•ŒνŒŒλ²³μ΄ μ•„λ‹Œ 것을 result 에 담은 ν›„ parseInt 둜 ν˜•λ³€ν™˜ ν•΄μ£Όμ—ˆλ‹€! import java.util.Scanner; public class Test1_09 { public int solution(String sentence) { String result = ""; for (int i = 0; i < sentence.length(); i++) { if (!Character.isAlphabeti..

    10μ›” 14일 2문제 - Java

    1. 회문 λ¬Έμžμ—΄ μ•žμ—μ„œ 읽을 λ•Œλ‚˜ λ’€μ—μ„œ 읽을 λ•Œλ‚˜ 같은 λ¬Έμžμ—΄μ„ 회문 λ¬Έμžμ—΄μ΄λΌκ³  ν•©λ‹ˆλ‹€. λ¬Έμžμ—΄μ΄ μž…λ ₯되면 ν•΄λ‹Ή λ¬Έμžμ—΄μ΄ 회문 λ¬Έμžμ—΄μ΄λ©΄ "YES", 회문 λ¬Έμžμ—΄μ΄ μ•„λ‹ˆλ©΄ β€œNO"λ₯Ό 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ„Έμš”. 단 νšŒλ¬Έμ„ 검사할 λ•Œ λŒ€μ†Œλ¬Έμžλ₯Ό κ΅¬λΆ„ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 1. μ• μ΄ˆμ— 처음 ν‹€λ¦° λ¬Έμžκ°€ μžˆμ„ 경우 회문 λ¬Έμžμ—΄μ΄ μ•„λ‹ˆκΈ° λ•Œλ¬Έμ— λ°”λ‘œ return NO λ₯Ό return ν•œλ‹€. import java.util.Scanner; public class Main { public String solution(String sentence) { String result = ""; sentence = sentence.toLowerCase(); char[] ch = sentence.toCharArray(); in..

    10μ›” 13일 2문제 - Java

    1. νŠΉμ • 문자 뒀집기 μ˜μ–΄ μ•ŒνŒŒλ²³κ³Ό 특수문자둜 κ΅¬μ„±λœ λ¬Έμžμ—΄μ΄ 주어지면 μ˜μ–΄ μ•ŒνŒŒλ²³λ§Œ 뒀집고, νŠΉμˆ˜λ¬ΈμžλŠ” 자기 μžλ¦¬μ— κ·ΈλŒ€λ‘œ μžˆλŠ” λ¬Έμžμ—΄μ„ λ§Œλ“€μ–΄ 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ„Έμš”. 1. 첫번째 index μ—μ„œ μ•ŒνŒŒλ²³μΈμ§€ ν™•μΈν•œλ‹€. 특수문자일 경우 λ‹€μŒμΉΈμœΌλ‘œ index++; 2. λ§ˆμ§€λ§‰ indexμ—μ„œ μ•ŒνŒŒλ²³μΈμ§€ ν™•μΈν•œλ‹€. 특수문자일 경우 λ‹€μŒμΉΈμœΌλ‘œ index--; 3. λ‘˜λ‹€ μ•ŒνŒŒλ²³μΌ 경우 μ„œλ‘œ 자리λ₯Ό λ°”κΏ”μ€€ ν›„ index++;, index--; 둜 자리λ₯Ό μ΄λ™ν•œλ‹€. import java.util.Scanner; public class Main { public String solution(String sentence) { String result = ""; char[] ch = sentence.toCharA..