no image
16173 : 점프왕 쩰리 - 재귀함수
오랜만에 실버 문제를 풀었다. 매번 브론즈로 별 찍기 정도의 난이도 문제를 풀다가 이건 좀 아닌 것 같다 싶어서 오늘은 실버 도전. 머릿속으로 대충.. 오른쪽이동, 아래쪽이동 함수 만들고배열과 시작지점을 인수로 받아서 출발하면 되겠다고 생각했다. 디테일한 건 짜면서 생각하기로 했다. #include #define MMS 3 // Map Max Sizeint Play(int arr[][3], int i, int j);int goRight(int arr[][3], int i, int j);int goDown(int arr[][3], int i, int j);int N; // MapSize (2~3)int END = 0;int main() { int arr[MMS][MMS] = {}; scanf_s("%d",..
2024.08.27
no image
1225 : 이상한 곱셈 - char->int로 형변환 하기
이번 문제. 아주 간단해보인다. 실제로도 그렇게 어려운 문제는 아니었다.문자열로 입력받은 다음에 정수로 형변환 해준 다음 곱하면 되겠다 싶었음. #include #include #define _CRT_SECURE_NO_WARNINGSint main() { char arr[100000] = {}; char brr[100000] = {}; long long sum = 0; scanf("%s", &arr); scanf("%s", &brr); for (int i = 0; i  근데 생각보다 많이 틀렸다. ;;일단 나는 atoi로 배열 안의 char를 int로 바꿔주려고 했는데 atoi는 *char를 인수로 받는 것이었다.이게 뭔 말이냐면 예를 들어 arr[10] = "12345" 일 때, 나는 '3'을 3으로 ..
2024.08.25
no image
모두의 깃&깃허브 3장_버전 가지고 놀기
목차- 이전 버전보기- 버전 비교하기- 버전 되돌리기 (폐기, 제거)- 버전 되돌리기 (revert, reset)- 작업 임시 저장하기 (stash)  현재 파일 이전의 상태를 볼 수 있다. 확인하고 싶은 버전을 클릭하고해당 버전에서 확인하고 싶은 파일 우클릭->선택한 버전 열기그러면 이렇게 이전 버전의 파일을 열 수 있다. (좌측이 이전 버전, 우측이 현재 버전)  비교하고 싶은 버전 두개를 Ctrl를 이용해 선택한다.그럼 이렇게 아래에 두 버전의 차이를 보여준다.  스테이지에 올라간 파일 : 선택 내용 스테이지에서 내리기스테이지에 올라가지 않은 파일 : 1. 커밋된 적 있는 파일의 경우 -> 우클릭->폐기 2. 커밋된 적이 없는, 새로 생성된 파일의 경우 -> 우클릭->제거.폐기 시 변경사항이 취소되..
2024.08.24
no image
18406 : 럭키 스트레이트 - 숫자 반반 나눠서 각각의 합 비교하기
문제를 좀 이상하게 이해해서 시간이 좀 걸렸다.처음에 나는 입력을 어떻게 받는 것이 좋을지 고민하다가 fgets로 문자열 형식 입력을 받은 다음, atoi 함수를 써서 각 자릿수를 더하면 간단하게 구현할 수 있겠다고 생각했다.  위와 같이 인수가 호환이 안된다는 에러가 뜨는거다. 그래서 어떻게 호환시키지 하다가 그냥 저 밑줄 쳐진 부분 앞에다가 &를 넣어보았더니 밑줄이 사라졌다. 그래서 이어서 코드를 짜봤다.근데 출력을 해보니 뭐가 문젠지를 깨달았다.&arr[i] 이렇게 넣으니까 그 시작 주소를 받아온 다음, 뒤에까지 모두 읽고 통째로 형변환을 시킨 것이다.123402에서 먼저 1, 그다음 2 이렇게 되길 바랬는데 (1+2...)123402, 23402, 3402 이런 식으로 형변환이 이어져버리게 된 것..
2024.08.24
no image
모두의 깃&깃허브 2장_깃으로 버전 관리 시작하기 (2)
저번에 공부하다 만거 이어서 했다.저번에 커밋을 취소했더니 이 생성되는 것을 보고 열이 받은 나.근데 커밋을 취소하면, 그 때의 변경사항들이 다시 원래대로 돌아간다는 것을 깨달았다.두번째 커밋에서 파일 c를 삭제했는데 커밋 후 파일 c가 다시 폴더에 있었다. ㅇㅎ 작업 디렉터리에 이 이름을 가진 텍스트 파일을 생성하면, 버전에 포함하지 않을 파일이나 폴더를 무시할 수 있게 해준다.단 무조건 저 이름이어야 한다. .gitignore.txt도 안된다. (확장자 지워주기)위와 같이 .gitignore 파일에e.txt 파일과 IGN 폴더를 무시하도록 적어주었다.그러자 e.txt 파일, 그리고 IGN 폴더 내부에 만들어둔 파일들(ig1.txt, ig2.txt)이 '스테이지에 올라가지 않은 파일' 항목에 추가되지 ..
2024.08.23
no image
모두의 깃&깃허브 2장_깃으로 버전 관리 시작하기 (1)
깃허브는 개발 직종으로 회사에 들어가려면 꼭 갖춰야 할 기본 소양이기 때문에.. 드디어 다시 시작.전에 소스트리 깔아둔거 거의 2년만에 열어봤다. (근데 안 열려서 새로 깜) 정말 오랜만에 본다. (2년 반만이네?) 이 때 초반에 깃으로 협업하는 거부터 아예 다들 확실하게 하고 시작했어야 했는데..결국 그냥 따로따로 짜고.. 일일히 만나서 변경사항 설명하고..결국엔 각자 짠 코드 서로 이해 못하고.. 마지막에 내가 짠 거 아무도 이해못해서 울며 겨자먹기로 내가 내 코드 마무리 지었지.. 그래도 구현했으니 다행이다 Create 눌러서 바탕화면에 만들어놓은 SourceTree 폴더에 저장소를 생성했더니 .git 폴더가 생성되었다. SourceTree 폴더에 a,b,c,change_line 텍스트를 추가해주었..
2024.08.20
no image
4470 : 줄번호 - 2차원 배열에 공백 문자열 입력하기 (C)
오랜만에 개발블로그 작성. 그간 여러 일들로 인해 개발 공부에 손을 놓고 있다가 드디어 다시 시작한다.가볍게 백준 문제를 풀어보았다. 근데 겨우 브론즈에 낑낑대면서 풀었다. 문제는 간단하다. N만큼 문자열 입력받고 그거에 숫자만 붙여서 출력하기. 처음에 실수한 건 그거다. getchar를 추가하지 않았고, 문자열 입력받는 걸 scanf로 해결했다.근데 scanf로 2차원 배열에 입력하는 걸 못하겠는거다. 왜 안되지? 공백 생각해서 %[^\n]s까지 사용했는데.그래서 챗지피티한테 2차원 배열 입력 어떻게 하냐고 물어봤더니 fgets를 쓰란다. 아하! 결론 : 2차원 배열에 문자열 입력하려면 fgets를 쓴다. #include #include #define CRT_SECURE_NO_WARNINGSint ma..
2024.08.19
no image
15. 정처기 + 유니티 캐릭터 선택창
데이터 입출력 부분 학습.근데 사실 거의 아는 파트라 그냥 한번 훑었음. (자료구조 열심히 공부하길 잘했다) 아 이미지를 그냥 화면에 맞게 하는 방법이 있었다.. (사진) 저 아이콘을 누르면 한번에 되네. 일단 캐릭터 선택 창 UI만 만들어봄.기능 구현은 아직 안함 캐릭터를 선택하면, 저장. (로딩... 저장되었습니다.) 그리고 스탯 클래스를 하나 만들었다.이름 :  캐릭터 : 0,1 - 0이면 마름, 1이면 비만으로 시작하는 부울 변수. 그 외 스탯 추가 예정.암튼 버튼을 부르면 1. 캐릭터 부울 변수 바뀜 2. 데이터 저장됨 3. 로딩화면 4. 페이드 아웃 5. 씬전환 이것들을 구현해야함.지금 모르겠는거 : 버튼을 누르면 스탯이 변화해야함. 근데 스크립트를 만드려고 하는데.. 스탯용 스크립트를 따로 ..
2024.05.05
no image
14. 정처기 + 유니티 singleton
오전 7:30~9:30, 3~4 정처기 어플리케이션 설계 파트 독서(약 20p) 오후 4:30~7 유니티 오후 8:30~9 정리 오늘 전체적으로 집중이 잘 안 되어서 효율이 그닥이다. 의자에 앉아있던 시간은 많은데 뭔가 많이 하진 않음Singleton디자인패턴 중의 하나. 저장, UI, 사운드같이 게임의 전범위에 걸쳐서 동작을 해야하는 기능. 오브젝트와 스크립트를 만들어서 구현. (보통 ~~Manager, ~~ManagerScript라고 이름 지음.) 싱글톤의 특징 : 접근성, 유일성, 존속성 (내가 참고한 유튜버가 사용한 단어로, 정식으로 이렇게 정의하는 것은 아니다.) - 접근성이 편리해짐. 다른 스크립트의 함수를 사용하는 과정이 복잡한데, 싱글톤을 쓰면 이런 과정 필요없음. - 기능별로 단 하나만 ..
2024.05.03