/android-chrome-192x192.png

blu3fishez

ERD 슈퍼타입-서브타입 관계에 대해서 알아보자

네이버 부스트캠프 9기 가 끝난 후, 안드로이드 팀의 그룹프로젝트 Porring 에 리팩토링 프로젝트에 참여하여 백엔드로 참여하면서 생긴 일이다.

슈퍼타입 - 서브타입 관계란?

ERD의 특정 관계를 뜻하는데, 정확하게는 객체지향의 상속 개념과 유사한 데이터 모델링 패턴이다.

[Java] String for-each 순회 방법

Java에서는 스트링 순회를 어떻게 할까?

기존 C++ 에서의 스트링 순회 방법

C++ 에서는 char 형으로 스트링을 순회할 수 있다.

(std string 기준)

for(char t : str1) cout<<t;

Java 에서 단순히 for-each를 할 경우

하지만 위와 같은 방법을 사용한다면 아래와같은 에러를 받게 된다.

2024년 회고

2024년은 나에게 있어 밖으로 나가는 문 을 연 것 같은 느낌이다.

프로그래밍에 있어서 당연히 나 혼자라도 열심히 개발해보고 공부해보는 것은 좋지만, 여러 사람들과 함께 해보며 특히 협업하는 것과는 확실히 다르다는 걸 인지하게 해준 한 해 같다.

[ 백준 6064 ] 카잉 달력 : C++ 풀이

문제 링크


해결 과정

최소 공배수 이용하는 문제입니다!

최소 공배수까지 탐색을 그리디 하게 이용하면 됩니다.

소스 코드

#include<iostream>
using namespace std;

int gcd(int a, int b) {
    int tmp;
    
    if(b > a) {
        tmp = a;
        a = b;
        b = tmp;
    }

    while(b != 0) {
        tmp = a % b;
        a = b;
        b = tmp;
    }
    return a;
}

int main() {
    cout.tie(0); cin.tie(0)->sync_with_stdio(0);
    int t; cin>>t;
    while(t--) {
        int m,n,x,y; cin>>m>>n>>x>>y;
        int larger = m > n ? m : n;
        int larger_remain = m > n ? x : y;
        int max_num = m*n / gcd(m, n);
        bool found = false;
        
        for(int i=larger_remain; i<=max_num; i += larger) {

            if (i%m == x%m && i%n == y%n) {
                found = true;
                cout<<i<<'\n';
                break;
            }
        }
        if(!found) cout<<"-1\n";
    }
}