알고리즘

풀이법 문자열을 정수로 바꿀 줄만 알면 바로 풀리는 문제 코드 class Solution { public int solution(String s) { int answer = 0; //만약 s가 +로 시작하거나 아무런 부호가 없으면 //그대로 출력하기 //만약 s가 -로 시작하면 앞에 -를 붙여서 출력 answer = Integer.parseInt(s); return answer; } }
풀이법n을 각 자리에 맞춰서 거꾸로 배열에 넣어줘야 하기 때문에 길이를 알아야한다따라서 n을 String으로 변환하여 길이를 알아낸 후 아스키 코드에 맞게 빼주어서 반대로 넣어준다 코드 import java.util.*; import java.io.*; class Solution { public int[] solution(long n) { //String으로 변환해주기 //Wrapper Class인 Long.toString 을 사용 String str = Long.toString(n); int [] answer = new int [str.length()]; //배열에 넣어줄 기준이 될 idx int idx = 0; //str과 answer의 idx를 반대로 하여 //반복문을 돌려 각 인덱스에 원소를 넣어..
Given the string, check if it is a palindrome. Example For inputString = "aabaa", the output should be solution(inputString) = true; For inputString = "abac", the output should be solution(inputString) = false; For inputString = "a", the output should be solution(inputString) = true. Input/Output [execution time limit] 3 seconds (java) [input] string inputString A non-empty string consisting of ..
N개의 카드 중 3개를 뽑는 조합을 구하는데 이때 M보다 작거나 같은 애들만 list에 추가하고 list를 정렬한 후 가장 뒤에 있는 값을 출력하니 쉽게 풀렸다. 코드에 주석을 달아놓았다. package Beakjoon; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.nio.Buffer; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.StringTokenizer; public class Main_2798 { /* N장의 카드 중 M과 가장..
int 형식을 string으로 합쳐서 비교하는 dfs+백트래킹 문제였다. 형변환만 잘 해주면 어렵지 않은 문제이다. 코드에 주석을 자세하게 달아놓았다. package Beakjoon; import java.io.*; import java.util.*; public class Main_2210 { /* 백트래킹 + 조합 문제 5*5 숫자판 0-9 사이의 숫자로 채워져있음 인접한 네방향으로 움직이면서 6자리 숫자 만들기 한번 거쳤던 칸 다시 갈 수 있으며 0으로 시작하는 숫자도 가능 */ //dfs + 백트래킹 //모든 크기의 위치에 대해서 모두 확인 //int + "" -> String으로 변환 //contains를 사용하여 list에 있는지 확인 //서로 다른 여섯자리 수들의 개수를 구하기 static ..
구간합 개념을 제대로 잡을 수 있는 문제였다. i부터 j 까지의 누적합을 구할 때는 처음부터 배열에 더한 값을 저장해놓으면 금방 구할 수 있다. 코드에 주석을 자세하게 달아놓았다. package Beakjoon; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer; public class Main_11659 { /* N개의 수가 주어졌을 때 i~j 까지의 합을 구하기 누적합 문제 -> 앞에서부터 애초에 더한 다음 배열에 저장하자 */ stati..
투포인터의 개념을 잡을 수 있는 문제였다. 투포인터만 제대로 알면 금방 풀 수 있는 문제다. 코드에 주석을 자세하게 달아놓았다. package Beakjoon; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main_2003 { /* 주어진 수열에서 i~j 까지 더했을 떼 M이 되는 경우의 수를 구해야 함 */ //투포인터 로직 제대로 알고 넘어가기 static int N, M; //숫자의 개수, 더해서 되어야 하는 숫자 static int [] arr; //수열을 넣어줄 배열 public static ..
푸는데 굉장히 오래 걸린 문제다. DFS로 풀어보려고 했는데 십자모양이나 다른 예외들을 확인할 수 없어서 조합 + BFS로 풀었다. 25개 중 7개를 뽑고 순열 배열에 담고 방문확인하는 과정이 어려웠다. char 입력을 int 좌표값으로 바꾸고 그 좌표값에 맞춰서 확인하는 과정을 다시 연습해봐야겠다. 코드에 주석을 자세하게 달아놓았다. package Beakjoon; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; public class Main_1941 { /* 25명의 여학생 고정 이다솜파 ..
개발자 정지은
'알고리즘' 카테고리의 글 목록 (3 Page)