728x90
반응형
SMALL

자바 53

[백준] 8979 올림픽 자바 풀이 정렬 구현

https://www.acmicpc.net/problem/8979  문제올림픽은 참가에 의의가 있기에 공식적으로는 국가간 순위를 정하지 않는다. 그러나, 많은 사람들이 자신의 국가가 얼마나 잘 하는지에 관심이 많기 때문에 비공식적으로는 국가간 순위를 정하고 있다. 두 나라가 각각 얻은 금, 은, 동메달 수가 주어지면, 보통 다음 규칙을 따라 어느 나라가 더 잘했는지 결정한다.금메달 수가 더 많은 나라 금메달 수가 같으면, 은메달 수가 더 많은 나라금, 은메달 수가 모두 같으면, 동메달 수가 더 많은 나라 각 국가는 1부터 N 사이의 정수로 표현된다. 한 국가의 등수는 (자신보다 더 잘한 나라 수) + 1로 정의된다. 만약 두 나라가 금, 은, 동메달 수가 모두 같다면 두 나라의 등수는 같다. 예를 들어,..

[백준] 10431 줄세우기 자바 풀이 구현 시뮬레이션 정렬

https://www.acmicpc.net/problem/10431        문제초등학교 선생님 강산이는 아이들을 데리고 단체로 어떤 일을 할 때 불편함이 없도록 새로 반에 배정받은 아이들에게 키 순서대로 번호를 부여한다. 번호를 부여할 땐 키가 가장 작은 아이가 1번, 그 다음이 2번, ... , 가장 큰 아이가 20번이 된다. 강산이네 반 아이들은 항상 20명이며, 다행히도 같은 키를 가진 학생은 한 명도 없어서 시간이 조금 지나면 아이들은 자기들의 번호를 인지하고 한 줄로 세우면 제대로 된 위치에 잘 서게 된다.하지만 매년 첫 며칠간 강산이와 강산이네 반 아이들은 자기가 키 순으로 몇 번째인지 잘 알지 못해 아주 혼란스럽다. 자기 위치를 찾지 못하는 아이들을 위해 강산이는 특별한 방법을 생각해냈..

[백준] 2292 벌집 자바 풀이 브론즈2 단순구현

https://www.acmicpc.net/problem/2292  스펙     문제위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지는 3개, 58까지는 5개를 지난다.입력첫째 줄에 N(1 ≤ N ≤ 1,000,000,000)이 주어진다.출력입력으로 주어진 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나는지 출력한다.예제 입력 1 복사13예제 출력 1 복사3     전체코드impor..

[알고리즘] 자바 소수점 원하는 자리수 만큼 반올림 올림 버림 출력 (String.format, Math)

[알고리즘] 자바 소수점 원하는 자리수 만큼 반올림 올림 버림 출력 (String.format, Math)    코드double dd = 1234.56789;// 반올림 (두가지 방법)System.out.println(String.format("%.2f", dd));System.out.println( Math.round(dd*100) / 100.0 );// 올림System.out.println( Math.ceil(dd*100) / 100.0 );// 내림System.out.println( Math.floor(dd*100) / 100.0 );// int 로 형변환 되는 경우System.out.println( Math.round(dd*100) / 100); 100으로 나누면 100은 int형이라서 소수점 아..

[소프티어] 우물 안 개구리 자바 풀이 레벨3 단순구현

[소프티어] 우물 안 개구리 자바 풀이 레벨3 단순구현  https://softeer.ai/practice/6289 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai   전체 코드import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); ..

[소프티어] 수퍼바이러스 자바 풀이 레벨3 분할정복 알고리즘

[소프티어] 수퍼바이러스 자바 풀이 레벨3 분할정복 알고리즘    처음 풀면 어려운데, 한번 풀어보고나면 잊을 수 없는 녀석인 것 같다.          수퍼바이러스가 괜히 수퍼가 아니더라.바이러스 문제보다 진화했다.매 반복문에 % 1000000007 을 하더라도 시간초과 발생 10^16이라니어떻게 풀었는지 확인해보자.    문제스펙   핵심 설명16 = 2^4 = (2^2) * (2^2) 이고,32 = 2^5 = (2^2) * (2^2) * 2 이다.그리고 위 연산마다 "%1000000007" 를 적용해주면 컴퓨터가 덜 허덕일 것이다. 위의 분할정복 알고리즘을 코드로 구현하자. 참고로 half 변수도 한번만 재귀 태워서 계산해주자."sol(p, n/2) * sol(p, n/2)" 로 하면 안된다는 의미..

[소프티어] 강의실 배정 자바 풀이 레벨3 그리디알고리즘

백준 11000번 문제와는 다른문제입니다. 맨 아래 내용 참고해주세요~         처음에 뭘 하려했으나,역시나 간단하게 생각하자 간단하게!!!!!  https://softeer.ai/practice/6291 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai       문제스펙    핵심설명- 첫번째 강의부터 dfs 돌려야되나 싶었다..10^6이라 시간초과....51 99999992 33 44 55 6 - 정렬하고 그리디 알고리즘 적용해야함52 33 44 55 61 9999999 - end 값으로 오름차순 후, start값으로 오름차순- 직전강의end - 중간에 겹친 놈이라면 continue; 현준이형 조언 감사합니다       정답코드import java.io.*;import ja..

[소프티어] 징검다리 레벨3 자바 풀이 DP알고리즘

[소프티어] 징검다리 레벨3 자바 풀이 DP알고리즘  DP문제는 어려운데 재밌다.급한대로 보카 영단어책에 마구 적어봤다. 역시 디피야 디피레벨3 체감중...     링크https://softeer.ai/practice/6293/history?questionType=ALGORITHM Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai   문제스펙  미리보는 해설A돌에서 B돌로 움직일때처럼1칸 1칸 움직이는 경우에최대값을 dp배열에 저장했다. 2~n 번째 돌을 반복문돌리면서1~n-1 번째 돌에 대해서 하나하나씩 최대값 비교.  정답 코드import java.io.*;import java.util.*;public class Main { public static void main(Stri..

[소프티어] 성적 평균 자바 풀이 레벨3

[소프티어] 성적 평균 자바 풀이 레벨3 왜 3레벨인지 모르겠는 문제.https://softeer.ai/practice/6294/history?questionType=ALGORITHM Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai    핵심코드String ff = String.format("%.2f", sum/(b-a+1)); bw.write(String.valueOf(ff)+"\n");   전체코드import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br =..

[소프티어] 나무 공격 자바 풀이 레벨2

[소프티어] 나무 공격 자바 풀이 레벨2  링크https://softeer.ai/practice/9657 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai   문제 스펙오늘 추가된 뜨끈한 문제라 그런지제출5명, 참가자5명, 정답률100% 이다.        표장같은걸 던지는 것 같다  핵심 설명- 숲을 나타내는 map이라는 2차원 배열 저장- 5개의 투사체 경계를 알려줄 range 배열 저장- 공격 시작시 투사체 1차원 배열 생성 (투사체 크기 5사이즈)- 투사체 던질때, 반복문 변수 체크 (n먼저인지 m먼저인지)- 환경파괴범도 있고 && 투사체도 있으면 then 둘다 없애주기- 최종출력난 투사체를 불덩이라고 상상했다.   정답 코드import java.io.*;import java...

728x90
반응형
LIST