입력 값만큼 bar이라는 배열을 선언하고, for으로 돌리면서 bar[i]가 a라면 StringBuilder result에. 을 append. 아니라면 원래 값을 append 하고 for문이 끝나면 result를 출력한다.
일일 스터디노트
어제는 NYPC 2019 토크콘서트 일정과 서울에서 전주로 내려오느라 작성을 못했다.오늘은 '루딘프' 앱에 새로운 기능 추가를 준비하고, NullPointerException 대비를 위한 try catch 문을 강화했다.그리고 렘수면 알리미 기능을 점검했다.그리고, 루딘프 앱 일기장 리스트에 날짜 표시를 추가하였다.
12, 13일 차는 OSS 여름 캠프 마지막 과제 Lunar Lander 때문에 너무 바빠서 못했다. int plus(int n) {if (n==1) {return 1;} else {return plus(n-1)+n;}
2019.07.26. 11일차사서 고생하기 - 1일 1코딩 프로젝트-스택 만들기String[] cmds에 문자열로된 여러개의 명령어가 있습니다.명령어는 두가지 입니다.1. "PUSH X"- 스택에 정수 X값을 넣습니다.2. "POP"- 스택에서 가장 위에 있는 데이터를 꺼냅니다.- 만약 스택에 아무것도 있지 않다면, 명령을 무시합니다.위의 명령들 모두 수행한 후에 큐스택 남아 있는 값들을 리턴하세요.
2019.07.25. 10일차사서 고생하기 - 1일 1코딩 프로젝트-상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다.상근이는 모든 방법을 동원해보았지만, 조금만 더 자려는 마음은 그 어떤 것도 없앨 수가 없었다.이런 상근이를 불쌍하게 보던, 창영이는 자신이 사용하는 방법을 추천해 주었다.바로 "45분 일찍 알람 맞추기"이다.이 방법은 단순하다. 원래 맞춰져있는 알람을 45분 앞서는 시간으로 바꾸는 것이다. 어차피 알람 소리를 들으면, 알람을 끄고 조금 더 잘 것이기 때문이다. 이 방법을 사용하면, 매일 아침 더 잤다는 기분을 느낄 수 있고, 학교도 지각하지 않게 된다.현재 상근이가 맞춰논 알람 시각이 주어졌..
2019.07.24. 9일차 사서 고생하기 - 1일 1코딩 프로젝트-7.21 부터 8.1까지 서울에 있어서, 문제를 풀 시간이 많지 않음. 기초적인 문제만 풀 예정 ]-백준 10871번. X보다 작은 수정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오.String Buffer 로 차례대로 수를 받아서 조건문을 통해 작은 수를 모두 출력해서 풀 수 있었다.
2019.07.23. 8일차 사서 고생하기 - 1일 1코딩 프로젝트-대선 전략 수립나라의 대통령 후보가 둘 있습니다.이 후보들 중 1번 후보는 자신이 현재 가장 지고 있는 선거구에 가서 마지막 선거 유세를 하려 합니다.지지율 조사 결과를 나타내는 String[] stats이 주어 집니다.String[] stats의 각 요소는 선거구를 나타내며, 각 요소는 문자열로 주어집니다.문자열은 '1'과 '2'로 구성되어 있는데, '1'은 후보1을 지지하는것을 뜻합니다. '2'는 후보2를 지지하는것을 뜻합니다.후보1의 지지율이 가장 낮은 선거구의 인덱스를 리턴하세요.만약, 지지율이 가장 낮은곳이 여러곳이라면, 그 중 더 낮은 인덱스를 리턴하세요.1과 2의 개수를 count1, count2의 변수에 각각 담고 차례대로..
2019.07.22. 7일차사서 고생하기 - 1일 1코딩 프로젝트-백준 4949번. 균형잡힌 세상세계는 균형이 잘 잡혀있어야 한다. 양과 음, 빛과 어둠 그리고 왼쪽 괄호와 오른쪽 괄호처럼 말이다.정민이의 임무는 어떤 문자열이 주어졌을 때, 괄호들의 균형이 잘 맞춰져 있는지 판단하는 프로그램을 짜는 것이다.문자열에 포함되는 괄호는 소괄호("()") 와 대괄호("[]")로 2종류이고, 문자열이 균형을 이루는 조건은 아래와 같다.모든 왼쪽 소괄호("(")는 오른쪽 소괄호(")")와만 짝을 이룰 수 있다.모든 왼쪽 대괄호("[")는 오른쪽 대괄호("]")와만 짝을 이룰 수 있다.모든 오른쪽 괄호들은 자신과 짝을 이룰 수 있는 왼쪽 괄호가 존재한다.모든 괄호들의 짝은 1:1 매칭만 가능하다. 즉, 괄호 하나가 ..
2019.07.21. 6일차사서 고생하기 - 1일 1코딩 프로젝트-정렬하기양의 정수가 담긴 int[] arr가 주어집니다.int[] arr의 각 요소를 문자열이라 가정했을때의 "사전순" 기준 오름차순으로 정렬하여 리턴하세요.※ [15, 143, 167]을 "사전순" 기준 오름차순 정렬하면, [143, 15, 167] 입니다.int[] arr을 String형으로 변환한 뒤 bubble sort를 응용해서. compareTo 함수를 이용해 사전 순으로 정렬하였다.
2019.07.20. 5일차사서 고생하기 - 1일 1코딩 프로젝트-수열 중복 제거수열 int[] sequence가 주어집니다.만약 중복된 숫자가 있을 경우 중복되는 숫자를 지우려고 합니다.중복된 숫자들을 지울때 중복된 숫자 중 인덱스가 가장 높은 숫자만 남기고 나머지를 지웁니다.위의 규칙대로 중복이 제거된 수열을 리턴하세요.int[] sequence 배열을 복제한 arr을 만들고 arr 배열의 원소를 Collections.reverse()를 이용해 뒤집고,arr2라는 비어있는 배열을 만들고! arr2.contains(arr.get(i)) (arr.get(i)가 arr2에 포함되어 있지 않다면) arr2에 arr[i]의 원소를 집어넣는 방식으로 구현하였다.
2019.07.19. 4일차사서 고생하기 - 1일 1코딩 프로젝트-잔액 계산은행 전산실에서 일을 하고 있습니다.고객 계좌의 전날 잔액 int balance가 주어집니다.고객이 할 수 있는 거래는 두가지 입니다.1. 입금(계좌에 금액 입금)2. 출금(계좌에서 금액 출금, 신용 거래가 가능한 계좌이기 때문에 마이너스도 가능 합니다.)입금은 "C 거래금액" 으로 나타내고, 출금은 "D 거래금액" 으로 나타냅니다.(자세한 사항은 예제를 참조하세요.)오늘의 거래내역 String[] transactions가 주어질때, 최종 잔액을 리턴하세요.contains 함수와 subString이라는 함수를 이용하여 C와 D 뒤에 어떤 int형 숫자가 있는지 확인하고. 알맞은 값을 result에 더하고 빼서 구현했다.
2019.07.18. 3일차사서 고생하기 - 1일 1코딩 프로젝트-큐만들기String[] cmds에 문자열로된 여러개의 명령어가 있습니다.명령어는 두가지 입니다.1. "PUSH X"- 큐에 정수 X값을 넣습니다.2. "POP"- 큐에서 가장 앞에 있는 데이터를 꺼냅니다.- 만약 큐에 아무것도 있지 않다면, 명령을 무시합니다.위에 명령들 모두 수행한 후에 큐에 남아 있는 값들을 리턴하세요.contains 함수와 subString이라는 함수를 이용하여 PUSH와 POP뒤에 어떤 int형 숫자가 있는지 확인하고. 알맞은 값을 result에 더하고 빼서 구현하고, prevent라는 값을 통해 IndexOutofBoundsException 이 발생하지 않도록 구현했다.
2019.07.17. 2일차사서 고생하기 - 1일 1코딩 프로젝트-셀프넘버 판별양의 정수 n에 대하여, F(n) = n + n의 각 자리 숫자 로 정의되는 함수가 있습니다.예를들어 F(12) = 12 + 1 + 2 = 15 입니다.양의 정수 n에 대하여 한가지 아래와 같은 무한한 수열을 생각해봅시다.n, F(n), F(F(n)), F(F(F(n))), ...예를들어 n이 12일때, 12, 15, 21, 24, 30, 33, ... 이렇게 진행됩니다.위의 수열에서, 12는 15의 생성자이고, 21은 24의 생성자로 정의 합니다.또한, 어떤 숫자의 생성자는 2개일 수도 있는데 예를들어 101의 생성자는 91과 100이 있습니다.어떤 숫자는 생성자가 없을수도 있는데, 이 수를 인도의 수학자 D. R. Kapr..