오늘부터 아침에 코딩테스트 2개씩 풀기 프로젝트를 시작한다.
✔️ 내 생각 -> runtime error고치기import java.util.\*;public class Day1 { public static void main(String\[] args){ Scanner input=new Scanner(System.in);
nextLine() 단어가 하닌 한 줄split함수는 띄어쓰기는 빼고 저장된다.여기까지만 힌트를 얻고 다시 풀어보자
in_charinput.length()-i=x;
중복문자제거
✔ 나의 답-> 성공
✔ 내 답 -> 맞음
import java.util.\*;public class p10 { public static int\[] solution(String in, String c ) { in = in.replace(c,"0"); int j =0; int\[]
✔️ 나의 답-> 맞음Integer.parseInt(String) : 안에 char이 들어올 수 없음아스키 문자로 바꾸는 법 : 정수형을 char로 형변환
✔️나의 답 -> 맞음
✔나의 답->맞음업로드중..
✔나의 답-> 맞음
✔ 나의 답 -> 맞음
뭔가 이상함 강의 듣고 힌트 얻어서 다시 푼 결과 -> 성공
✔ 내 답 -> 성공매우 지저분하고 복잡하지만 성공 강의보고 다시 해봐야겠다..
✔ 내 답 -> 정답 > https://hianna.tistory.com/601 JAVA 배열 합치는 방법
✔ 내 답 -> 정답인데 타임 초과 > https://kjhoon0330.tistory.com/entry/Java-List-%EC%A0%95%EB%A0%AC%EC%97%90-%EB%8C%80%ED%95%98%EC%97%AC list를 정렬하는 방법
✔️ 내 답-> 오답 뭐가 틀렸는지 모르겠다작은 수로 하면 돌아가는데숫자가 커지면 오답이 나옴n일이 있을 때 연속된 k일의 최대 매출을 구하는 문제인데2중 for문이 아니라 sliding window라는 방법을 사용해야 한다.이는 맨처음 앞의 k개의 값을 더한 다음에
input= 자연수 output=연속된 자연수의 합을 만드는 경우의 수
✔ 내 답-> 이상핟..
✔️ 내 답-> HashMap 초기화 과정에서 누락한 값이 존재해서 발견하고 다시 품0으로 초기화를 해놓았는데도 여기서는 map.put(x, map.get(x)+1); 이 부분에 문제가 있다는 것-> 그것은 바로 내가 넣은 String에 ED도 있는데 그걸 초기화해
✔️ 내 답 -> 정답여기서 중요한 것(JAVA) HashSet은 정렬을 지원하지 않는다고 들었는대?https://jwdeveloper.tistory.com/m/278중간에 출력 값들을 보기위해 위와 같이 코드를 추가한 결과위와 같은 결과가 나왔다.보면 정렬이
✔ 내답-> 정답인데 타임초과
✔ 내 답-> 정답
Set은 get(index)처럼 index값을 가지고 올 수 있는 메서드가 없음따라서 Set을 Array로 바꾸는 법기본이 오름차순인데내림차순으로 바꾸는 법✔️ 답은 맞는데 시간초과이다...✔️강의 답
✔️ 내가 푼 거 다 풀지 못했다.
String을 Char로, Char를 StringCharacter.toString(arrayj)String.valueOf(ary);String을 선언할 때 파라미터로 char\[]를 넣을 수 있고 인덱스도 정할 수 있다. change = new String(array,
✔️ 내 답-> 정답
352+*9- 12
✔ 내 답-> 정답(은 stack에 쌓는다)이 나오면 stack에 있는 ( 하나를 꺼낸다.단, ( 가장 최근에 넣은 즉 )직전에 넣은 것이라면stack에 남아있는 사이즈만큼 더하기아니라면 +1만 하기 남은 막대기 더하는 것이다.
stackpush, peek, popqueueoffer - add, peek, poll-element,
✔️ 내 답-> 정답맨 처음에 필수과목 must, 시간표 sub를 둘다 queue로 했더니 시간 초과가 나와 must만 queue로 했더니 정답으로 나왔다.
✔️내 답 -> 정답근데 강의 조금 듣고 힌트 얻어서 풀었다.여기서 중요한 것은 외부 클래스 Person을 만든 것인데문제에서 주어진 처음 예시는 Person에 대한 필요성이 없지만두번째 예시에서는 중복값이 존재하기 때문에 Person이라는 클래스가 필요하다.
✔️내 답-> 정답선택정렬이 앞에서부터 작은 값을 채워넣는 것이다.비교대상 : 처음~끝처음 칸에는 가장 작은 값을 넣고가장 작은 값이 있었던 자리에 처음 칸에 있었던 값 넣기비교대상 : 두번째~끝두번째 칸에는 두번째부터 끝까지를 비교했을 때 가장 작은 값을 넣고가장 작
그림 출처: https://gmlwjd9405.github.io/2018/05/06/algorithm-bubble-sort.html
앞에서부터 정렬 부분적 버블정렬두번째 데이터와 첫번째 데이터 비교세번째 데이터와 두번째 데이터-> 첫번째 데이터 비교 버블처럼 이동...✔내 답 -> 정답
✔️ 내 답 -> 정답내가 풀면서 저 자리에 break라는 걸 넣었다.의도는 만약에 같은 값을 발견하게 되면같은 값이 있는 그 자리의 전 자리부터 0까지 돌기 때문에 굳이 바깥 for문(t를 가지고 있는)을 돌지 않도록 나가게 하려는 의도였다.그!러!나!보면문제가 있다
정렬 라이브러리 Array.sort() / Collections.sort()자바에는 오름차순 정렬 라이브러리를 두 개를 제공한다Array.sort() 그리고 Collections.sort()이다.Arrays는 배열을 대상으로, Collections는 리스트를 대상으로
✔️ 쓸데없이 오래 고민하고코드도 너무 복잡하다다시 생각해서 고치자