일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- baekjoon #백준 #boj
- 인턴 #프론트엔드 #개발자 #프론트엔드개발자 #취준
- Flutter
- flutter #상태관리
- boj #baekjoon
- 로컬저장소 #이름변경
- boj #baekjoon #c++
- flutter #git
- baekjoon #boj #c++
- 백준
- unity #2d-game
- boj #c++
- flutter #플러터
- git #unity #깃허브
- unity #2d-game #minigame #vscode
- 유데미 #udemy #웅진씽크빅 #스나이퍼팩토리 #인사이드아웃 #미래내일일경험 #프로젝트캠프 #부트캠프 #react #리액트프로젝트 #프론트엔드개발자양성과정 #개발자교육과
- 백준 #boj
- firebase #파이어베이스
- 비주얼스튜디오 #코드스니펫
- 백준 #c++
- flutter #깃
- flutter #플러터 #분석
- #유데미 #udemy #웅진씽크빅 #스나이퍼팩토리 #인사이드아웃 #미래내일일경험 #프로젝트캠프 #부트캠프 #react #리액트프로젝트 #프론트엔드개발자양성과정 #개발자교육과정
- 플러터 #flutter #restful #rest api
- 백준 #boj #baekjoon
- VS #비주얼스튜디오
- flutter #app #취준
- flutter #todolist
- 비주얼 스튜디오 #vs #visual studio
- flutter #firebase #플러터 #파이어베이스 #연동
- Today
- Total
목록분류 전체보기 (150)
cococo-coding
문제 분석 두 문자열을 입력받고, 각 자리의 문자끼리 위치를 계산해 출력하는 문제이다. 입력받은 문자열이 x, y순이라면 1) x가 y보다 작거나 같은 경우는 y-x로 2) x가 y보다 큰 경우는 (y+26)-x로 거리를 계산한다. 이때 아스키코드로의 알파벳은 A=65, B=66...Z=90 이고 우리가 문제에서 사용할 알파벳은 A=1, B=2, ... Z=26이므로 이 부분도 고려해준다. 알고리즘 설계 우선 처음 입력받는 문자열은 s1, 뒤에 입력받는 문자열은 s2로 지정한다. s1과 s2의 문자열 길이는 동일하므로, s1의 문자열 길이만큼을 for문으로 돌려준다. 각각 문자에서 64씩을 빼주어 아스키코드->우리가 실 사용할 값으로 변경해준다. 변경한 값으로 s1(=x)가 작거나 같은경우와 s1이 더 ..
문제 분석 한 줄의 암호를 입력받아(줄바꿈 기준) 거꾸로 출력하는 문제이다. END가 입력되면 끝내야한다. 알고리즘 설계 우선 while(1)문으로 반복문을 설정하고, END가 입력되면 break;문으로 끝냈다. getline(cin,s)으로 암호들을 입력받았고, for문으로 문자열의 끝-1부터 0까지 반복해서 출력했다. 이때 문자열의 길이가 n이면 인덱스가 0부터 시작하므로, 끝은 n-1이라는 부분을 유의하자 코드 #include #include using namespace std; /* 1. 암호를 입력받는다. 2. 각 암호를 해독한다. 3. 해독한 암호를 출력한다. */ //size()는 컨테이너의 크기를 반환 //length()는 주로 string클래스, 해당 문자열 길이 반환 int main()..
1924번과 2948번 모두 월과 일을 입력받아 무슨 요일인지 출력하는 문제이다. 해결 알고리즘이 동일하기 때문에 하나의 글로 묶어 써보려고 한다. 문제 분석 x월 y일을 입력받아 해당일이 어떤 요일인지 출력한다. 월-> 일수로 변환하고, 입력받은 일(y)까지 더해서 요일을 구하려고 한다. 알고리즘 설계 각 월의 일수를 넣은 int형 배열을 선언해주고, 요일을 넣은 string형 배열도 만들어준다. 최종적으로 구할 totalday변수는 0으로 초기화해준다. 월의 일수를 담은 배열에서 입력받은 월까지의 일수를 totalday에 더해준다. 그리고 입력받은 y일을 totalday에 더한다. totalday를 7로 나누어 day배열에 맞춘 요일을 출력한다. 코드 1) 2948번 #include using nam..
문제 분석 백준의 별찍기 문제들 중 하나이다. 나에게는 꽤 난이도가 있었다고 느껴졌는데, 한줄씩 분류해서 코드를 짜는 방법을 추천한다. n을 입력받으면, 아래 그림과 같이 삼각형 테두리 형태로 별을 찍어야한다. 알고리즘 설계 첫번째 줄과 가운데 줄, 마지막 줄로 구분해서 코드를 짜보았다. 우선 마지막줄은 공백없이 별을 출력하므로, 1~2n-1동안 *을 출력하도록 코드를 짰다. //마지막줄 for (int i = 1; i > n; //2 막줄제외 for (int i = 1; i 0; j--) { cout
문제 분석 파일을 덮어씌울 횟수 n에 따라 다른 풀이로 접근해야 한다. 기존파일을 비트단위로 덮어씌우고, 한 번 덮어씌울 때 0인 비트는 1, 1인 비트는 0으로 덮어씌워진다. 따라서 n이 홀수면 처음 파일과 최종 파일의 비트가 다 달라야 삭제 성공이며, n이 짝수라면 처음 파일과 최종 파일의 비트가 다 같아야 삭제 성공이다. 알고리즘 설계 우선 n이 짝수인지 홀수인지에 따라 분기문을 설계했다. 그리고 최종적으로 삭제가 성공했는지 출력할 문자열을 result로 설정하고 0으로 초기화했다. 처음 파일은 ori, 삭제한 뒤의 파일은 after로 설정했다. 우선 덮어씌우는 횟수가 홀수인 경우, for문으로 ori과 after의 인덱스를 비교해서 같은 문자가 있는 경우 삭제가 안된 것이므로 result에 Del..
문제 분석 글자와 숫자로 이루어진 자동차 번호판을 입력받아 각각의 가치를 계산하는 문제이다. 이때 자동차 번호판의 길이는 일정하며, LLL-DDDD형식으로 이루어져있다. (LLL : 글자, DDDD: 숫자) LLL부분과 DDDD부분의 가치를 계산하고, 절댓값을 씌운 차를 100과 비교하면 된다. 알고리즘 설계 자동차 번호판의 길이가 고정되어 있고, 앞의 세 글자와 뒤의 네 숫자로 분류되어 있어서 형식적인 부분에서 코드를 짜기 편했다. 번호판을 string형으로 선언하고 입력받는다. 1. LLL 부분 for문을 이용해 인덱스 0~2까지 반복했다. 이때 A=0, B=1.. 이므로 65씩을 빼줘야한다는 점, 지수형식으로 되어있는 부분은 따로 j라는 변수를 설정해서 한 번씩 sum을 구할때마다 j--;로 빼주면..
문제 분석 두 정수간의 최대공약수와 최소공배수를 찾는 문제이다. 구글링을 해본 결과 유클리드 호제법이 가장 유명하고 많이 쓰이길래 나도 그 방법으로 풀었다. 또 최대공약수와 최소공배수간의 관계식을 참고했다. 최대공약수*최소공배수 = 두 수의 곱 알고리즘 설계 위에서 설명한대로, 유클리드 호제법과 두 관계식을 이용해서 풀었다. 최대공약수와 최소공배수를 찾는 코드는 함수로 작성하여 각 케이스마다 함수를 적용하여 풀었다. 코드 #include using namespace std; /* 1. 테스트개수t를 입력받는다. 2. 정수 a와 b를 입력받는다. 3. 각 최소공배수와 최대공약수를 출력한다. */ //최대공약수 gcd int gcd(int a, int b) { int c = a % b; while (c !=..
문제 분석 요약 n개의 단어를 입력받아 1. 길이가 짧은 애들 먼저 2. 길이가 같다면 사전 순으로 정렬 3. 중복은 없어야 함 위 세가지 조건들을 만족해서 한줄에 하나의 단어씩 출력하는 문제이다. 알고리즘 설계 단어를 저장할 string형 벡터를 선언하고, 크기는 n으로 설정한다. n번만큼 단어를 입력받아 벡터에 쌓는다. 위의 세가지 조건들을 구현하기 위해 sort정렬을 이용할건데, 기본적으로 sort(v.begin(), v.end())와 같이 쓰면 사전순으로 오름차순 정렬이 된다. 그렇지만 우리는 그전에 길이순 정렬이 먼저이므로, sort의 세번째 인자인 cmp를 추가해서 길이순 정렬을 구현한다. sort(v.begin(), v.end(), cmp); cmp는 메인함수 이전에 다음과 같이 정의했다. ..