전체 글

Let's Enjoy Free Time (LEFT)
Algorithms/백준

[백준] '바구니 순서 바꾸기' - Java

도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2번째 바구니, ..., 가장 오른쪽 바구니를 N번째 바구니라고 부른다. 도현이는 앞으로 M번 바구니의 순서를 회전시키려고 만들려고 한다. 도현이는 바구니의 순서를 회전시킬 때, 순서를 회전시킬 범위를 정하고, 그 범위 안에서 기준이 될 바구니를 선택한다. 도현이가 선택한 바구니의 범위가 begin, end이고, 기준이 되는 바구니를 mid라고 했을 때, begin, begin+1, ..., mid-1, mid, mid+1, ..., end-1, end 순서로 되어있는 바구니의 순서를 mid, mid+1, ..., ..

Algorithms/백준

[백준] '검증수' - Java

컴퓨터를 제조하는 회사인 KOI 전자에서는 제조하는 컴퓨터마다 6자리의 고유번호를 매긴다. 고유번호의 처음 5자리에는 00000부터 99999까지의 수 중 하나가 주어지며 6번째 자리에는 검증수가 들어간다. 검증수는 고유번호의 처음 5자리에 들어가는 5개의 숫자를 각각 제곱한 수의 합을 10으로 나눈 나머지이다.예를 들어 고유번호의 처음 5자리의 숫자들이 04256이면, 각 숫자를 제곱한 수들의 합 0+16+4+25+36 = 81 을 10으로 나눈 나머지인 1이 검증수이다.제곱을 구하는 함수를 활용하고, 그 값들을 누적합하여 마지막 검증수를 도출해내는 문제였다. for(int i = 0; i 출력문으로 잘 진행되고있는지 과정을 확인하고, data[i] * data[i] 로 제곱을 구하는 방식이다.for(..

Algorithms/백준

[백준] '바구니 뒤집기' - Java

도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2번째 바구니, ..., 가장 오른쪽 바구니를 N번째 바구니라고 부른다. 도현이는 앞으로 M번 바구니의 순서를 역순으로 만들려고 한다. 도현이는 한 번 순서를 역순으로 바꿀 때, 순서를 역순으로 만들 범위를 정하고, 그 범위에 들어있는 바구니의 순서를 역순으로 만든다.바구니의 순서를 어떻게 바꿀지 주어졌을 때, M번 바구니의 순서를 역순으로 만든 다음, 바구니에 적혀있는 번호를 가장 왼쪽 바구니부터 출력하는 프로그램을 작성하시오. N개의 바구니, M번의 테스트케이스가 주어진다. 예를 들어 1 2가 주어지면1번바구니부..

Algorithms/백준

[백준] '공 넣기' - Java

도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 또, 1번부터 N번까지 번호가 적혀있는 공을 매우 많이 가지고 있다. 가장 처음 바구니에는 공이 들어있지 않으며, 바구니에는 공을 1개만 넣을 수 있다.도현이는 앞으로 M번 공을 넣으려고 한다. 도현이는 한 번 공을 넣을 때, 공을 넣을 바구니 범위를 정하고, 정한 바구니에 모두 같은 번호가 적혀있는 공을 넣는다. 만약, 바구니에 공이 이미 있는 경우에는 들어있는 공을 빼고, 새로 공을 넣는다. 공을 넣을 바구니는 연속되어 있어야 한다.공을 어떻게 넣을지가 주어졌을 때, M번 공을 넣은 이후에 각 바구니에 어떤 공이 들어 있는지 구하는 프로그램을 작성하시오.N은 바구니의 개수, M은 테스트케이스의 개수이어서..

Algorithms/백준

[백준] '공 바꾸기' - Java

도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다.바구니에는 공이 1개씩 들어있고, 처음에는 바구니에 적혀있는 번호와 같은 번호가 적힌 공이 들어있다.도현이는 앞으로 M번 공을 바꾸려고 한다. 도현이는 공을 바꿀 바구니 2개를 선택하고, 두 바구니에 들어있는 공을 서로 교환한다.공을 어떻게 바꿀지가 주어졌을 때, M번 공을 바꾼 이후에 각 바구니에 어떤 공이 들어있는지구하는 프로그램을 작성하시오.임시 변수를 두고 그 변수를 통해 값을 교환하는 방식을 사용하였다. String INPUT = br.readLine();String[] INPUT_1 = INPUT.split(" ");int N = Integer.parseInt(INPUT_1[0]);int M = I..

Algorithms/백준

[백준] '럭비 클럽' - Java

올 골드 럭비 클럽의 회원들은 성인부 또는 청소년부로 분류된다.나이가 17세보다 많거나, 몸무게가 80kg 이상이면 성인부이다.그 밖에는 모두 청소년부이다. 클럽 회원들을 올바르게 분류하라.입력받는 값들 중 이름을 제외한 2,3번째 값을 if문 처리하여 조건에 맞게 성인부와 청소년부로 구분하고StringBuilder에 저장 후 최종 출력해야겠다고 생각했다.while(true) { s = br.readLine(); if(s.contains("#") && s.contains("0")) break; String[] st = new String[3]; st = s.split(" "); if(Integer.parseInt(st[1]) > 17 || Integer.parseInt(s..

Algorithms/백준

[백준] '꼬마 정민' - Java

꼬마 정민이는 이제 A + B 정도는 쉽게 계산할 수 있다. 이제 A + B + C를 계산할 차례이다!첫 입력값으로 split()함수를 통해 숫자를 구분하여 더해볼까 생각도해보고StringTokenizer()를 통해 문자열형태로 입력받은 후 Integer.parseInt()로 정수 더하기를 해볼까 생각도 해보았다.일단은 일반적인 방법으로 풀어보고자 하였다.// 런타임 에러 (NumberFormat) 발생, 문자열을 숫자로 바꿔 연산하고자할때 발생.String INPUT = br.readLine();String[] INPUT_1 = INPUT.split(" ");int result = 0;for(int i = 0; i INPUT_1 배열에 split(" ") 함수로 공백 기준으로 분리하여 값을 넣어주고,f..

Algorithms/백준

[백준] '모음의 개수' - Java

영문 문장을 입력받아 모음의 개수를 세는 프로그램을 작성하시오. 모음은 'a', 'e', 'i', 'o', 'u'이며 대문자 또는 소문자이다. 먼저 모든 영문들을 toUpperCase()를 통하여 대문자로 만들고, if문에서 charAt()을 통해 일치하는 모음들즉 A, E, I, O, U 들을 찾고자 하였다.BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String s = "";int count = 0;char test;while(true) { s = br.readLine(); if(s.equals("#")) break; s = s.toUpperCase(); for(int i = 0; i whil..

Recording/온라인 세미나

[캐치 멘토링] "IT기업 개발자가 알려주는 인턴맞춤 코딩테스트" 후기

오늘은 '서용준 멘토'님의 "IT기업 개발자가 알려주는 인턴맞춤 코딩테스트" 강의를 수강하게 되었습니다. 강의는 이런 순서로 진행되었습니다. - 자료구조, 알고리즘 공부했던 방법 - 문제풀이 노하우 및 예시 강의를 들으면서 정리가 필요했던 내용을 요약해서 블로그에 기술하고자 합니다. 비전공자였지만, 언어도 모르는 상태에서 2020년 처음 프로그래밍을 공부하기 시작한 멘토님 진입장벽이 비교적 낮은 파이썬을 공부했고, '점프 투 파이썬' 책 처럼 무료로 볼 수있는 경우가 있어서 책과 강의를 통해 파이썬 언어를 공부했다고 하였다. 전공자인 나에게도 어려운 언어 공부인데, 처음 접한 언어로 취업까지 했다는 것이 새삼 대단하게 느껴졌다. 자료구조나 알고리즘 공부의 경우 SW Expert Academy 사이트에 있..

LEFT
LEFT ON